文章詳情頁
Mysql 組合索引最左原則的疑惑
瀏覽:203日期:2022-06-15 17:53:39
問題描述
如果test表有一個(gè)組合索引(a,b),執(zhí)行如下兩條語句。explain select * from test where a=1 and b=1;explain select * from test where b=1 and a=1;執(zhí)行結(jié)果顯示這兩條語句都用索引。根據(jù)最左原則,只有第一條使用索引,第二條不使用索引。不明白為什么,求解惑
問題解答
回答1:題主列出的情況,mysql會(huì)優(yōu)化where子句的條件順序,讓查詢符合索引順序。
更具體點(diǎn),上面的sql屬于交集查詢(都是and),在mysql中會(huì)使用Index Merge intersection algorithm算法來調(diào)整條件子句順序。更詳細(xì)的解釋參見官方文檔。
上一條:lbs - Mysql POINT類型數(shù)據(jù),怎么計(jì)算經(jīng)緯度偏差下一條:mysql 中 實(shí)現(xiàn)字段值為BOX001,BOX002.... 每插入一條數(shù)據(jù)數(shù)字部分自增
相關(guān)文章:
1. node.js - nodejs+express+vue2. javascript - 我的站點(diǎn)貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?3. java - web端百度網(wǎng)盤的一個(gè)操作為什么要分兩次請(qǐng)求服務(wù)器, 有什么好處嗎4. 數(shù)據(jù)庫 - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。5. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個(gè)?6. python - 如何把152753這個(gè)字符串轉(zhuǎn)變成時(shí)間格式15:27:537. 使用mysql命令行連接遠(yuǎn)程數(shù)據(jù)庫host跳轉(zhuǎn)8. javascript - onclick事件點(diǎn)擊不起作用9. javascript - webpack-dev-server和webpack沖突嗎10. python 字符串匹配問題
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備