鍍金池/ 問答/數(shù)據(jù)庫/ 不走組合索引的底層原因

不走組合索引的底層原因

有組合索引A,B 條件where B=x 不走該索引的原因是什么 為什么跟它字段順序有關(guān)系 有大佬能從索引底層的b-tree原理上回答下嗎?

回答
編輯回答
膽怯

打個比方,你可以理解索引就是字典里面的拼音目錄,如果想查一個字“中”,那么我們會知道首字母是z,直接就去z的部分查文字的具體頁數(shù)。
假如我們不知道“中”的聲母,只知道韻母是“ong”,那么這個拼音的目錄就沒法快速查詢了。

對應(yīng)到mysql中,可以理解字段A是聲母,B是韻母,合起來構(gòu)成組合索引就是拼命目錄表,根據(jù)B字段內(nèi)容查詢,和用韻母查字典的拼音目錄原理上一樣的。

2017年2月4日 18:57
編輯回答
澐染

組合索引,因為你的字段是ab,那么會生成兩個索引a和ab。
a索引就不要想了。
ab索引因為你沒有指定a字段,所以就不能走索引了。

2017年11月20日 21:23