資料庫索引

2021-09-01 17:22:53 字數 939 閱讀 3368

索引可以大大提高查詢的速度。但是同時有以下缺點:

1.索引的建立會占用一部分空間。

2.資料更新時索引的維護會耗費一部分效能。

既然有缺點,就不適用於所有字段,那什麼樣的字段適合做索引呢?

1.主鍵。強制該列的唯一性和組織表中資料的排列結構;

2.外來鍵。可以加快連線查詢的速度。

3.經常需要根據範圍進行搜尋的列。因為索引已經排列。

4.經常需要排序的列。

不應該建立索引的列:

1.不經常查詢的列。

2.資料值很少的列。無法明顯提公升查詢速度。

3.定義為text, image和bit資料型別的列。資料量過大。

4.修改大於檢索時不應使用。

索引分為聚簇索引和非聚簇索引、

[b]聚簇索引:[/b]

[quote]索引中鍵值的邏輯順序決定了表中相應行的物理順序。就像**簿按姓氏和名字進行組織資料一樣。[/quote]

1、主鍵列,該列在where子句中使用並且插入是隨機的。

2、按範圍訪問的列,如pri_order > 100 and pri_order < 200。

3、在group by或order by中使用的列。

4、不經常修改的列。

5、在連線操作中使用的列。

[b]非聚簇索引:[/b]

[quote]

葉級頁指向表中的記錄,記錄的物理順序與邏輯順序沒有必然的聯絡。非聚簇索引則更象書的標準索引表,索引表中的順序通常與實際的頁碼順序是不一致的。

[/quote]

[img]

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...

資料庫索引

索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...