索引(優缺點)

2021-09-27 03:24:23 字數 1213 閱讀 5297

在關聯式資料庫中,索引是一種單獨的、物理的,對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。

索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。

1、通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。 

2、可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。 

3、可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。 

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

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

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

2、索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大。 

3、當對表中的資料進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維護速度。

1、聚集索引,表資料按照索引的順序來儲存的。對於聚集索引,葉子結點即儲存了真實的資料行,不再有另外單獨的資料頁。

2、非聚集索引,表資料儲存順序與索引順序無關。對於非聚集索引,葉結點包含索引字段值及指向資料頁資料行的邏輯指標,該層緊鄰資料頁,其行數量與資料表行資料量一致。 

3、在一張表上只能建立乙個聚集索引,因為真實資料的物理順序只可能是一種。如果一張表沒有聚集索引,那麼它被稱為「堆集」(heap)。這樣的表中的資料行沒有特定的順序,所有的新行將被新增的表的末尾位置。

索引提供指向儲存在表的指定列中的資料值的指標,然後根據指定的排序順序對這些指標排序。

資料庫使用索引以找到特定值,然後順著指標找到包含該值的行。

這樣可以使對應於表的sql語句執行得更快,可快速訪問資料庫表中的特定資訊。

當表中有大量記錄時,若要對錶進行查詢:

第一種搜尋資訊方式是全表搜尋,是將所有記錄一一取出,和查詢條件進行一一對比,然後返回滿足條件的記錄,這樣做會消耗大量資料庫系統時間,並造成大量磁碟i/o操作;

第二種就是在表中建立索引,然後在索引中找到符合查詢條件的索引值,最後通過儲存在索引中的rowid(相當於頁碼)快速找到表中對應的記錄。

常見的資料庫索引是b-tree索引,雖然hash 索引效率很高,但是它有很多弊端,比如 hash 索引僅僅能滿足"=","in"和"<=>"查詢,不能使用範圍查詢等,這些弊端導致其不是常見的資料庫索引。

索引優缺點

優點 1 建立唯一性索引,保證資料庫表中每一行資料的唯一性 2 大大加快表的檢索速度,是建立索引的主要原因 4 在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間 5 使用索引,可以在查詢的過程中使用優化隱藏器,提高系統效能 缺點 1 索引占用磁碟空間,除了資料表要占用資料空...

索引優缺點

建立索引可以大大提高系統的效能。第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。第四,在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中...

索引的優缺點

索引優點 1.加快資料檢索效率 2.可以建立唯一性約束索引,保證資料庫表中每一行資料的唯一性 3.加速表和表連線效率 4.在使用分組和排序子句進行資料檢索時,可以顯著減少查詢中分組和排序的時間 索引缺點 1.索引需要占用更多物理儲存空間 2.當表中的資料進行增加,刪除和修改的時候,索引也要更新維護,...