數據庫索引

什麼是索引

數據庫索引,是數據庫管理系統中一個排序的數據結構,以協助快速查詢、更新數據庫表中數據。索引的實現通常使用B樹及其變種B+樹。

索引優點

  1. 通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。
  2. 可以大大加快數據的檢索速度,這也是創建索引的最主要的原因。
  3. 可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。
  4. 在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。
  5. 通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。

索引缺點

  1. 創建索引和維護索引要耗費時間,這種時間隨着數據量的增加而增加。
  2. 索引需要佔物理空間,除了數據表佔數據空間之外,每一個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大。
  3. 當對錶中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。

索引創建

1. 建表時創建

create table 表名 {
	[字段名] [數據類型] [約束條件]
}

約束條件:

  1. UNIQUE:可選。表示索引爲唯一性索引。
  2. FULLTEXT:可選。表示索引爲全文索引。
  3. SPATIAL:可選。表示索引爲空間索引。
  4. INDEX和KEY:用於指定字段爲索引,兩者選擇其中之一就可以了,作用是 一樣的。
  5. 索引名:可選。給創建的索引取一個新名稱。
  6. 字段名1:指定索引對應的字段的名稱,該字段必須是前面定義好的字段。
  7. 長度:可選。指索引的長度,必須是字符串類型纔可以使用。
  8. ASC:可選。表示升序排列。
  9. DESC:可選。表示降序排列。

2. 建表後創建

alter table 表名 add [約束條件] index (字段名)

查看已創建索引

show index from 表名 

刪除索引

drop index 索引名 on 表名
發佈了33 篇原創文章 · 獲贊 14 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章