這篇文章給大家介紹如何理解Mysql index extensions,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
前者的key_len是8而后者是4,預示著可以用到的索引不僅是i_c這個索引,還有主鍵索引;
前者的ref列值是const,const,而后者只有const,預示著前者用到了2個索引部分,而后者只有一個;
前者評估的rows為2,而后者評估的rows為3,因為前者效率更高;
后者的Extra列中多了Using Where,表示后者還需要從結果中再次過濾數據,而不能像前者那樣直接利用索引取得結果。
我們還可以根據觀察STATUS中的Handler_read_%值差異來對比兩個SQL的實際執(zhí)行代價(執(zhí)行FLUSH STATUS后,執(zhí)行查詢SQL,再執(zhí)行SHOW STATUS LIKE ‘Handler_read_%’ 查看):
后者的代價是 Handler_read_next = 3;
前者的代價是 Handler_read_next = 2;
如果數據量更大的話,這個差值也會隨之增大。
由此可見,前者的效率確實要比后者來的更高。
關于如何理解Mysql index extensions就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。