文章詳情頁
Mysql 組合索引最左原則的疑惑
瀏覽:131日期: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. android - weex 項(xiàng)目createInstanceReferenceError: Vue is not defined2. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?3. 網(wǎng)頁爬蟲 - python requests爬蟲,如何post payload4. npm鏡像站全新上線5. angular.js - 求問大神?angularjs加載外部的html模板。有閃動(dòng)如何解決6. html - 關(guān)于CSS實(shí)現(xiàn)border的0.5px設(shè)置?7. PHPExcel表格導(dǎo)入數(shù)據(jù)庫怎么導(dǎo)入8. android - 哪位大神知道java后臺(tái)的api接口的對(duì)象傳到前端后輸入日期報(bào)錯(cuò),是什么情況?求大神指點(diǎn)9. pdo 寫入到數(shù)據(jù)庫的內(nèi)容為中文的時(shí)候?qū)懭雭y碼10. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;
排行榜

熱門標(biāo)簽