MySQL - 為什么索引會有“最左前綴匹配原則”?


總結

由於聯合索引構建存儲方式(InnoDB聯合索引的數據結構是什么?)是根據第一個索引列“單調遞增”排序,如果第一列相等則再根據第二列單調遞增排序,依次類推。。。也就是說,對於(b,c,d)聯合索引來說,相當於創建了(b)、(b、c)(b、c、d)三個索引

 

 

索引的第一列也就是b列可以說是從左到右單調遞增的,但我們看c列和d列並沒有這個特性,它們只能在b列值相等的情況下這個小范圍內遞增,所以如果你的查找條件不包含b列如(c,d)、(c)、(d)是無法應用緩存的,以及跨列也是無法完全用到索引如(b,d),只會用到b列索引。

 

參考文獻

https://blog.csdn.net/ibigboy/article/details/104571930/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM