口訣
不等not null還有or,索引全中也無效;
大等小等is null,全索命中才有效;
除此全匹最高效,最左匹配要記牢;
大小跳索百分號,后面用索也無效;
索無函式和計算,才能保證索有效,
解釋
sql中只要包含了!= not null or ,會導致sql中全部索引失效,但是 is null >= <= 不會,
>= <= is null只會有兩種情況:只有在命中了全部索引,也就是組合索引中的索引全用到了才會都有效并且是全部有效,否則就全無效,
組合索引中除了上面的特例外,sql中用到的索引全部命中肯定效率最高,而且還要保證最左匹配原則,
在最左匹配原則下,如果遇到大于號> ,小于號< ,跳過組合索引中的某個索引直接用下個索引列,like中的左%(%號寫最右邊,寫左邊會導致索引失效),那么當前索引列有效,這些符號右邊的索引列也會失效,
索引列上不要用函式和計算,函式和計算也會使索引失效,
外話
以上純屬個人總結,若有不對的地方還希望大家指出,不喜勿噴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240468.html
標籤:其他
上一篇:游戲產業鏈:游戲分發/渠道商
