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

索引的分類數據庫

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

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

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

複合索引:指多個字段上建立的索引,只有複合索引的第一個字段出如今查詢條件中,該索引纔可能被使用,所以將應用頻度高的字段,放置在複合索引的前面,會使系統最大可能地使用此索引,發揮索引的做用blog

關於彙集索引和非彙集索引:http://www.javashuo.com/article/p-obekxtrg-mc.html排序

 

索引的優勢索引

① 經過建立索引,能夠在查詢的過程當中,提升系統的性能get

② 經過建立惟一性索引,能夠保證數據庫表中每一行數據的惟一性it

③ 在使用分組和排序子句進行數據檢索時,能夠減小查詢中分組和排序的時間搜索

 

索引的缺點

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

② 索引須要佔用物理空間,若是要創建聚簇索引,所須要的空間會更大

③ 在對錶中的數據進行增長刪除和修改時須要耗費較多的時間,由於索引也要動態地維護

 

應該在哪些列上建立索引

① 常常須要搜索的列上

② 做爲主鍵的列上

③ 常常用在鏈接的列上,這些列主要是一些外鍵,能夠加快鏈接的速度

④ 常常須要根據範圍進行搜索的列上

⑤ 常常須要排序的列上

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

 

不該該在哪些列上建立索引

① 查詢中不多用到的列

② 對於那些具備不多數據值的列.好比人事表的性別列,bit數據類型的列

③ 對於那些定義爲text,image的列.由於這些列的數據量至關大

④ 當對修改性能的要求遠遠大於搜索性能時.由於當增長索引時,會提升搜索性能,可是會下降修改性能

相關文章
相關標籤/搜索