索引的分類,優缺點,使用


索引的分類

主鍵索引:某一個屬性組能唯一標識一條記錄,主鍵索引只能有一個

唯一索引:避免同一個表中某數據列中的值重復,唯一索引可有多個

常規索引:快速定位特定數據,應加在查詢條件的字段,不易添加太多常規索引,影響數據的插入,刪除和修改操作

復合索引:指多個字段上創建的索引,只有復合索引的第一個字段出現在查詢條件中,該索引才可能被使用,因此將應用頻度高的字段,放置在復合索引的前面,會使系統最大可能地使用此索引,發揮索引的作用

關於聚集索引和非聚集索引:https://blog.csdn.net/yue_hu/article/details/80634274

 

索引的優點

① 通過創建索引,可以在查詢的過程中,提高系統的性能

② 通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性

③ 在使用分組和排序子句進行數據檢索時,可以減少查詢中分組和排序的時間

 

索引的缺點

① 創建索引和維護索引要耗費時間,而且時間隨着數據量的增加而增大

② 索引需要占用物理空間,如果要建立聚簇索引,所需要的空間會更大

③ 在對表中的數據進行增加刪除和修改時需要耗費較多的時間,因為索引也要動態地維護

 

應該在哪些列上創建索引

① 經常需要搜索的列上

② 作為主鍵的列上

③ 經常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度

④ 經常需要根據范圍進行搜索的列上

⑤ 經常需要排序的列上

⑥ 經常使用在where子句上面的列上

 

不應該在哪些列上創建索引

① 查詢中很少用到的列

② 對於那些具有很少數據值的列.比如人事表的性別列,bit數據類型的列

③ 對於那些定義為text,image的列.因為這些列的數據量相當大

④ 當對修改性能的要求遠遠大於搜索性能時.因為當增加索引時,會提高搜索性能,但是會降低修改性能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM