資料庫索引

2021-08-18 04:10:05 字數 935 閱讀 3516

索引的建立:

create index 索引名稱 on 表名稱 (列名稱)

索引的優點:

可以加快資料庫的檢索速度

建立唯一性所以呢,保證資料庫表中的每一行資料的唯一性

加快資料庫表之間的連線,特別是在實現資料庫的參考完整性方面有特別的意義

在使用分組和排序子句進行資料檢索時,可以顯著減少查詢中分組和排序的時間

通過使用索引,可以在查詢中使用優化隱藏器,提高系統的效能

索引的缺點:

1.建立索引和維護索引需要耗費時間,這種時間隨著資料量的增加而增加

2.索引需要占用物理空間,處理資料庫表占用資料空間之外,每個索引還要占用一定的物理空間

3.當對表中的資料進行增加、刪除和修改的時候,索引也需要維護,降低資料維護的速度

什麼情況下適合建立索引:

1.經常出現在關鍵字order by 、group by 、distinct後面的字段,建立索引。

2.為union等集合操作的結果集字段上,建立索引

3.為經常用作查詢選擇的字段上建立索引

4.在經常用作表連線的屬性上,建立索引

5.對於資料很少被更新的表,可以考慮建立索引

哪些欄位不適合建立索引:

1.唯一性太差的字段,如狀態字段,型別字段,比如只儲存固定幾個值的字段。

2.更新太頻繁的字段不適合建立索引

3.不會出現在where條件中的字段不應該建立索引

索引什麼時候會失效:

1.隱式轉換索引會失效

2.對索引進行運算導致索引失效

3.使用<> ,not in ,not exist,!=等索引失效

4.like 「%_」 like查詢%在前面索引會失效

5..不要將空的變數值直接與比較運算子(符號)比較,否則索引失效,應當採用is null或者is not null。

資料庫 資料庫索引

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

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

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

資料庫索引

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