天天看點

資料庫之索引

索引

基本概念:

在資料庫中建立索引是為了加快資料的查詢速度。資料庫中的索引與書籍中的目錄類似。資料庫中的索引是一個表中所包含的列值的清單,其中注明了表中包含各個值的行資料所在的存儲位置。可以為表中的單個列建立索引,也可以為一組列建立索引。索引一般采用B樹結構。索引由索引項組成,索引項由來自表中每一行(注意是資料表中的每一行)的一個或多個列(稱為搜尋關鍵字或索引關鍵字)組成。B樹按搜尋關鍵字排序,可以對組成搜尋關鍵字的任何子詞條集合上進行高效搜尋。

比如在一張學生表中,第一列是學生的id,也是索引列。那麼當資料庫要根據指定的id時查找該學生的資訊時,它能夠識别id列是索引列,并首先在索引部分(按id有序存儲)查找該id,然後根據找到的id所指向的資料的存儲位置,直接檢索出需要的資訊。

索引為查找所帶來的性能好處是有代價的。首先索引在資料庫中會占用一定的存儲空間來存儲索引資訊。其次,在對資料進行插入、更改和删除操作時,為了使索引與資料保持一緻,還需要對索引進行維護。對索引的維護是需要花費時間的。