今天就跟大家聊聊有關mysql中索引的最左原則是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1、MySQL不會使用索引的情況:非獨立的列
獨立的列是指索引列不能是表達式的一部分,也不能是函數的參數。
2、前綴索引
如果列很長,通??梢运饕_始的部分字符,這樣可以有效節約索引空間,從而提高索引效率。
3、多列索引和索引順序
在多數情況下,在多個列上建立獨立的索引并不能提高查詢性能。理由非常簡單,MySQL不知道選擇哪個索引的查詢效率更好。
4、避免多個范圍條件
實際開發中,我們會經常使用多個范圍條件,比如想查詢某個時間段內登錄過的用戶:
select user.* from user where login_time > '2017-04-01' and age between 18 and 30;
5、覆蓋索引
如果一個索引包含或者說覆蓋所有需要查詢的字段的值,那么就沒有必要再回表查詢,這就稱為覆蓋索引。覆蓋索引是非常有用的工具,可以極大的提高性能。
6、使用索引掃描來排序
MySQL有兩種方式可以生產有序的結果集,其一是對結果集進行排序的操作,其二是按照索引順序掃描得出的結果自然是有序的。如果explain的結果中type列的值為index表示使用了索引掃描來做排序。
看完上述內容,你們對mysql中索引的最左原則是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。