SQL及其使用(3)
3.3、索引
SQL索引:
SQL索引有兩種,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系統的性能,加快數據的查詢速度與減少系統的響應時間
1,概念: 數據庫索引是對數據表中一個或多個列的值進行排序的結構,就像一本書的目錄一樣,索引提供了在行中快速查詢特定行的能力.
2,優缺點:
2.1優點: 1,大大加快搜索數據的速度,這是引入索引的主要原因.
2,創建唯一性索引,保證數據庫表中每一行數據的唯一性.
3,加速表與表之間的連接,特別是在實現數據的參考完整性方面特別有意義.
4,在使用分組和排序子句進行數據檢索時,同樣可以減少其使用時間.
2,2缺點: 1,索引需要佔用物理空間,聚集索引佔的空間更大.
2,創建索引和維護索引需要耗費時間,這種時間會隨着數據量的增加而增加.
3,當向一個包含索引的列的數據表中添加或者修改記錄時,SQL server 會修改和維護相應的索引,這樣增加系統的額外開銷,降低處理速度。
3,索引的分類:
1,按存儲結構可分爲:
a,聚集索引:指物理存儲順序與索引順序完全相同,它由上下兩層組成,上層爲索引頁,下層爲數據頁,只有一種排序方式,因此每個表中只能創建一個聚集索引。
b,非聚集索引:指存儲的數據順序一般和表的物理數據的存儲結構不同。
測試:
對於5百萬條簡單的數據,創建索引之前的運行時間如下:
創建索引之後
搜索時,使用非索引屬性: