索引這塊從存儲結構來分,有2大類,聚集索引和非聚集索引,而非聚集索引在堆表或者在聚集索引表都會對其 鍵值有所影響,這塊可以詳細查看本系列第二篇文章:SQL SERVER大話存儲結構_(2)_非聚集索引如何查找到行記錄。
非聚集索引內又分為多類:單列索引、復合索引、包含索引、過濾索引等。之前文章有具體分析過非聚集索引的存儲情況,但是沒有對復合索引及包含索引做過多說明,本文來講講這兩個索引。
如果轉載,請注明博文來源: www.cnblogs.com/xinysu/ ,版權歸 博客園 蘇家小蘿卜 所有。望各位支持!
1 語法及說明
--復合索引CREATE INDEX IndexName ON tbname(columna,columnb [,columnc...] ) --包含索引CREATE INDEX IndexName ON tbname(columna [,columnb,columnc...] ) INCLUDE (column1 [,column2,column3...])
復合索引,顧名思義,及多個列組成的索引,列的順序非常重要,關系到查詢性能,這點后面會說明。
包含索引,建索引SQL 中含有 include 字段,索引鍵值用于WHERE條件過濾,INCLUDE字段用于 SELECT 展示,這點后面也會說明。
無論是符合索引還是包含索引,都有索引鍵值長度不能超過900字節(jié)的限制,但是要注意一點,包含索引的include字段是不包括在里邊的。