資料庫調優教程(八) 什麼情況下不要使用索引

2021-06-30 16:58:18 字數 458 閱讀 3481

5.      什麼情況下不要使用索引

既然索引是有代價的,那麼就不要在不應該使用索引的情況下去使用它。

1)    資料唯一性差的字段不要使用索引

比如性別,只有兩種可能資料。意味著索引的二叉樹級別少,多是平級。這樣的二叉樹查詢無異於全表掃瞄。

2)    頻繁更新的字段不要使用索引

比如logincount登入次數,頻繁變化導致索引也頻繁變化,增大資料庫工作量,降低效率。

3)    欄位不在where語句出現時不要新增索引

只有在where語句出現,mysql才會去使用索引

4)    資料量少的表不要使用索引

使用了改善也不大

什麼情況下資料庫索引會失效

1 在where子句中進行null值判斷的話會導致引擎放棄索引而產生全表掃瞄 2 避免在where子句中使用 這樣的符號,否則會導致引擎放棄索引而產生全表掃瞄 3 避免在where子句中使用or來連線條件,因為如果倆個欄位中有乙個沒有索引的話,引擎會放棄索引而產生全表掃瞄 4 避免在where子句中...

oracle資料庫什麼情況下建立索引比較好

索引就好象一本字典的目錄。憑藉字典的目錄,我們可以非常迅速的找到我們所需要的條目。資料庫也是如此。憑藉oracle資料庫的索引,相關語句可以迅速的定位記錄的位置,而不必去定位整個表。雖然說,在表中是否建立索引,不會影響到oracle資料庫的使用,也不會影響資料庫語句的使用。這就好像即使字典沒有目錄的...

oracle資料庫什麼情況下建立索引比較好

了,看到乙個使用者的回答,瞬間清晰了很多,我記錄一下,方便以後斟酌,索引就好象一本字典的目錄。憑藉字典的目錄,我們可以非常迅速的找到我們所需要的條目。資料庫也是如此。憑藉oracle資料庫的索引,相關語句可以迅速的定位記錄的位置,而不必去定位整個表。雖然說,在表中是否建立索引,不會影響到oracle...