mysql 索引失效

2021-10-03 01:19:19 字數 1051 閱讀 5275

全職匹配我最愛:

2.最佳做字首法則:

如索引了多列,要遵守最左字首法則。指的是查詢從索引最左前列開始並且不跳過索引中的列。

(帶頭大哥不能死,中間兄弟不能斷) 

3.不要在索引列上做任何操作(計算、函式、(自動or手動)型別轉換),否則會導致索引失效而轉向全表掃瞄。

例如:

4.範圍之後全失效。(範圍那一列不失效)

between  and      > 

5.盡量使用索引覆蓋

(可以使用部分索引列)

6.使用('!='或者『<>』)的時候無法使用索引導致全表掃瞄(索引失效)

7. 使用 is null 或者 is not null 索引失效

8.like 以 萬用字元開頭('%abc...') mysql 索引失效會變成全部表掃瞄。

最好只在右邊寫百分號。寫成這樣july% ,可以用,但是後面的就不能使用索引了。 

如果必須使用%july% 呢 ?怎麼辦?

使用索引覆蓋:

9.   字串不加單引號 索引失效

10.少用or,用它連線時索引會失效。

11.order 之後的 索引失效,其實order by 排序用到了索引但是不計入。

12 group by 與order by 相似,但有不同,group by 會有臨時表產生。

group by 會先排序 

一般性建議:

mysql索引失效 常見mysql索引失效條件

使用索引的一般語句 1 where條件中有or,除非or的所有欄位都有索引,只要有乙個沒有索引,就不走索引 explain select from jf user ju where ju.user id or ju.superior1 yyy user id是主鍵,superior1是普通索引,結果...

mysql 主鍵失效 MySQL索引(索引失效)

索引 索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄。myisam儲存引擎,資料檔案 索引檔案 表結構檔案分開儲存 innodb儲存引擎,資料和索引儲存在乙個檔案中 b tree索引 hash索引 hash索引 只有memory儲存引擎支援 查詢一條記錄的速度非常快 b tree索引 ...

mysql 索引失效場景 Mysql 索引失效場景

例如 一張user表 有欄位屬性 name,age 其中name為索引 下面列舉幾個索引失效的情況 1.select from user where name xzz or age 16 例如這種情況 當語句中帶有or的時候 即使有索引也會失效。2.select from user where na...