索引是對數據庫表中一個或多個列的值進行排序的結構。
索引是爲了提高數據庫的查詢性能,而引入的概念。索引的概念,就是根據表記錄中的一個或多個列,通過一定的運算規則,將這些列的特徵表示爲一個數值或字符串。數據庫系統將這些數值或字符串加上與之相關的ROWID,用一定的數據結構保存起來。實現的基本原理:使用了一個折半查找法,映射到數據結構上就是一個二叉樹的應用【此理解片面】
索引分爲:聚簇索引和非聚簇索引。
【聚簇索引】是索引目錄與目前記錄的物理位置一一對應,因此一個表中只能有一個聚簇索引。
【非聚簇索引】指針的概念,記錄的是目前記錄的物理位置的地址,注意:插入,修改頻繁的最好不用。
【聚簇索引】與【非聚簇索引】的兩個屬性:唯一索引與複合索引
用法舉例:
--創建一個非聚簇,非唯一的索引
CREATE INDEX COL_INDEX ON MY_TABLE(ONE_COLUMN);
--創建一個聚簇,非唯一索引
CREATE CLUSTERED INDEX COL_INDEX_CLUSTERED ON MY_TABLE(ONE_COLUMN)
--創建一個聚簇,唯一索引
CREATE UNIQUE CLUSTERED INDEX COL_INDEX ON MY_TABLE(ONE_COLUMN)