SQLSERVER索引的使用技巧

2021-06-18 07:09:14 字數 714 閱讀 7130

之前做過一次試驗,當所建立的索引沒有在where條件中應用時,查詢結果需要40多分鐘;而建對索引時,不到30秒,很神奇吧,這就是索引的作用,他就像目錄一樣,可以輕鬆的找到你想要的資料,就像字典,如果沒有目錄,可想其查詢的難度。

在總結索引設計的原則時,我們有必要來闡述sqlserver中索引的四種型別:

1.聚集索引(cluster index)

聚集索引中索引儲存的值的順序和表中的資料的物理儲存順序是完全一致的。建立索引時,系統將對錶的物理資料頁中的資料按列進行排序,然後再重新儲存到磁碟上,即聚集索引與資料是混為一體的,它的葉節點中儲存的是實際的資料。特點如下:

建立聚集索引後,更新索引列資料,往往會導致表中物理記錄的儲存順序的變化,維護的代價會比較大,對於需要經常更新的列,不宜建立聚集索引。

2.非聚集索引(non-cluster index)

非聚集索引儲存的資料順序一般和表的物理資料的儲存不同。儘管查詢速度慢一些,但是維護的代價小。而且表中最多可以建立249個非聚集索引以滿足多種查詢的需要。

3.惟一索引(unique index)

惟一索引是指索引儲存的值必須是惟一的,不允許兩行具有相同的索引值(包括null)。主碼索引時當然的惟一索引。

4.復合索引

復合索引是指利用表中的多個列值的組合來構建索引值。sqlserver 2000規定復合索引最多使用16個列的值進行組合,索引列值最大長度不能超過900位元組,而且這些列必須在同乙個資料表中。

SqlServer 正確使用索引

寫sql語句的時候很多時候會用到filter篩選掉一些記錄,sql對篩選條件簡稱 sarg search argument sarg 1 where amount 4000 and amount 6000 上面這句就是篩選條件 當然這裡不是說sqlserver的where子句,是說sqlserver...

SQL Server 索引的建立和使用

什麼是索引 拿漢語字典的目錄頁 索引 打比方 正如漢語字典中的漢字按頁存放一樣,sql server中的資料記錄也是按頁存放的,每頁容量一般為4k 為了加快查詢的速度,漢語字 詞 典一般都有按拼音 筆畫 偏旁部首等排序的目錄 索引 我們可以選擇按拼音或筆畫查詢方式,快速查詢到需要的字 詞 同理,sq...

在SQL Server中使用索引的技巧

在sql server中,為了查詢效能的優化,有時我們就需要對資料表通過建立索引的方式,目的主要是根據查詢要求,迅速縮小查詢範圍,避免全表掃瞄。索引有兩種型別,分別是聚集索引 clustered index,也稱聚類索引 簇集索引 和非聚集索引 nonclustered index,也稱非聚類索引 ...