索引的簡介:
索引分為聚集索引和非聚集索引,數據庫中的索引類似於一本書的目錄,在一本書中通過目錄可以快速找到你想要的信息,而不需要讀完全書。
索引主要目的是提高了SQL Server系統的性能,加快數據的查詢速度與減少系統的響應時間 。
但是索引對於提高查詢性能也不是萬能的,也不是建立越多的索引就越好。索引建少了,用 WHERE 子句找數據效率低,不利於查找數據。索引建多了,不利於新增、修改和刪除等操作,因為做這些操作時,SQL SERVER 除了要更新數據表本身,還要連帶立即更新所有的相關索引,而且過多的索引也會浪費硬盤空間。
索引的分類:
索引就類似於中文字典前面的目錄,按照拼音或部首都可以很快的定位到所要查找的字。
唯一索引(UNIQUE):每一行的索引值都是唯一的(創建了唯一約束,系統將自動創建唯一索引)
主鍵索引:當創建表時指定的主鍵列,會自動創建主鍵索引,並且擁有唯一的特性。
聚集索引(CLUSTERED):聚集索引就相當於使用字典的拼音查找,因為聚集索引存儲記錄是物理上連續存在的,即拼音 a 過了后面肯定是 b 一樣。
非聚集索引(NONCLUSTERED):非聚集索引就相當於使用字典的部首查找,非聚集索引是邏輯上的連續,物理存儲並不連續。
PS:聚集索引一個表只能有一個,而非聚集索引一個表可以存在多個。
直接上圖
相關文獻
SQL Server 創建索引(index):https://www.cnblogs.com/Brambling/p/6754993.html