哪些情況下需要建立索引?哪些情況下不要建立索引?

2021-08-20 20:22:32 字數 398 閱讀 6852

1.主鍵自動建立唯一索引;

2.頻繁作為查詢條件的字段應該建立索引;

3.查詢中與其他表有關聯的字段,例如外來鍵關係;

4.頻繁更新的字段不適合建立索引,因為每次更新不單單是更新記錄,還會更新索引,儲存索引檔案;

5.where條件裡用不到的字段,不建立索引;

6.高併發的情況下一般選擇復合索引;

7.查詢中排序的字段建立索引將大大提高排序的速度(索引就是排序加快速查詢);

8.查詢中統計或者分組的字段;

9.表記錄太少,不需要建立索引;

10.經常增刪改的表;

11.資料重複且分布平均的字段,因此為經常查詢的和經常排序的字段建立索引。注意某些資料報含大量重複資料,因此他建立索引就沒有太大的效果,例如性別字段,只有男女,不適合建立索引。

哪些情況下索引會失效?

索引並不是時時都會生效的,比如以下幾種情況,將導致索引失效 如果條件中有or,即使其中有條件帶索引也不會使用 這也是為什麼盡量少用or的原因 注意 要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引 2.對於多列索引,不是使用的第一部分,則不會使用索引 3.like查詢是以 開頭 4....

哪些情況下索引會失效?

索引並不是時時都會生效的,比如以下幾種情況,將導致索引失效 如果條件中有or,即使其中有條件帶索引也不會使用 這也是為什麼盡量少用or的原因 注意 要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引 2.對於多列索引,不是使用的第一部分,則不會使用索引 3.like查詢是以 開頭 4....

哪些情況下索引會失效?

索引並不是時時都會生效的,比如以下幾種情況,將導致索引失效 如果條件中有or,即使其中有條件帶索引也不會使用 這也是為什麼盡量少用or的原因 注意 要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引 2.對於多列索引,不是使用的第一部分,則不會使用索引 3.like查詢是以 開頭 4....