索引區別:
聚集索引:
聚集索引基於數據行的鍵值,在表內排序和存儲這些數據行。每個表只能有壹個聚集索引,應為數據行本分只能按壹個順序存儲。
在聚集索引中,表中各行的物理順序與索引鍵值的邏輯(索引)順序相同。聚集索引通常可加快UPDATE和DELETE操作的速度,因為這兩個操作需要讀取大量的數據。創建或修改聚集索引可能要花很長時間,因為執行這兩個操作時要在磁盤上對表的行進行重組。
非聚集索引:
因為壹個表中只能有壹個聚集索引,如果需要在表中建立多個索引,則可以創建為非聚集索引。表中的數據並不按照非聚集索引列的順序存儲,但非聚集索引的索引行中保存了非聚集鍵值和行定位器,可以快捷地根據非聚集鍵的值來定位記錄的存儲位置。
延伸閱讀:
無論是聚集索引,還是非聚集索引,都可以是唯壹索引(UNIQUE)
。在SQL Server中,當唯壹性是數據本身的特點時,可創建唯壹索引,但索引列的組合不同於表的主鍵。例如,如果要頻繁查詢表a(該表主鍵為列a_id)的列a_name,而且要保證姓名是唯壹的,則在列a_name上創建唯壹索引。如果用戶為多個員工輸入了相同的姓名,則數據庫顯示錯誤,並且不能保存該表。