日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Sql Server 性能優化之包含列

系統 2163 0

Sql Server 性能優化之包含列

?

? ? ?導讀:數據數優化查詢一直是個比較熱門的話題,小生在這方面也只能算是個入門生。今

天我們就講下數據庫 包含列 這個一項的作用及帶來的優化效果

? ??

? ? ? 引用下MSDN里面的一段解釋:

?

? ? ? 當查詢中的所有列都作為鍵列或非鍵列包含在索引中時,帶有包含性非鍵列的索引可以顯

著提高查詢性能。 這樣可以實現性能提升,因為查詢優化器可以在索引中找到所有列值;不

訪問表或聚集索引數據,從而減少磁盤 I/O 操作

??

? ? ?? 上面這一段什么意思呢?

?

? ? ? 意思就是說設置好包含列,能提高查詢性能,減少IO輸出。

? ? ? 這樣說大家都覺得很抽象,下面我們舉個例子來說明這個包含列的效果,

?

? ? ?? 如何創建包含列索引?

?

????? ?1、 在對象資源管理器中,單擊加號以便展開包含您要創建帶有非鍵列的索引的表的數據庫。

????? ?2、 單擊加號以便展開“表”文件夾。

????? ?3、單擊加號以便展開您要創建帶有非鍵列的索引的表。

????? ?4、右鍵單擊“索引”文件夾,指向“新建索引”,然后選擇“非聚集索引…”。

????? ?5、 在“新建索引”對話框的“常規”頁中,在“索引名稱”框中輸入新索引的名稱。

????? ?6、 在“索引鍵列”選項卡下,單擊“添加…”。

????????7、在“從 table_name 中選擇列”對話框中,選中要添加到索引的一個或多個表列的復選框。

????? ?8、 單擊“確定”。

????? ?9、 在“包含性列”選項卡下,單擊“添加…”。

????? ?10、 在“從 table_name 中選擇列”對話框中,選中要作為非鍵列添加到索引的一個或多個表列的復選框。

????? ?11、 單擊“確定”。

????? ?12、 在“新建列”對話框中,單擊“確定”。

?

? ?? 舉個例子來說明這個包含列的效果

? ??

? ? ? SQL:select Sex from User Where UserName='小三'

??

? ?? 我們來看下上面的語句 根據UserName來查詢小三的性別,加入我們表中沒有建任何索引,如果數據比較少的話 這個查詢語句是沒有任何問題的,但是當我們的用戶量到達上千萬時,這個查詢可能就沒當初那么快了,這個時候怎么提高查詢效率呢?

? ? ?

? ?? ?建立非聚集索引

?

? ? ?第一個方法:給UserName建立非聚集索引,建立了索引之后數據庫就能更快的找到這條數據所存在的位置。

?

? ? ?建立索引包含列

? ??

? ? ?第二個方法:在給UserName建立非聚集索引的同時,建議包含列,包含Sex這一列,這樣在快速定位UserName的同時又能很快定位出Sex的物理位置。包含列是對查詢條件后的一種性能補充。?

? ? ?

? ? ?適用場景:該條查詢用的非常頻繁。 select age from User Where UserName='小三'

比如在查詢UserName的同時查詢age非常多 就可以考慮給UserName建立非聚集索引的時候包含age這一列。

?

? ? 附上:建立包含列的SQL語句

? ??

1
2
3
4
5
6
7
8
9
USE?AdventureWorks2012;
GO
--?Creates?a?nonclustered?index?on?the?Person.Address?table?with?four?included?(nonkey)?columns.?
--?index?key?column?is?PostalCode?and?the?nonkey?columns?are
--?AddressLine1,?AddressLine2,?City,?and?StateProvinceID.
CREATE ? NONCLUSTERED? INDEX ? IX_Address_PostalCode
ON ? Person.Address?(PostalCode)
INCLUDE?(AddressLine1,?AddressLine2,?City,?StateProvinceID);
GO

?

? 同時歡迎到我的個人博客上做客: http://www.diyibk.com/post/140.html

Sql Server 性能優化之包含列


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 延寿县| 广宁县| 山西省| 张家港市| 景泰县| 颍上县| 沛县| 白河县| 天柱县| 镇赉县| 大同县| 开封市| 轮台县| 青川县| 洛浦县| 平原县| 米泉市| 疏勒县| 辽宁省| 南雄市| 高陵县| 定日县| 大安市| 白城市| 克山县| 辛集市| 阿城市| 泰顺县| 苏尼特右旗| 通化县| 南昌县| 奈曼旗| 玉田县| 新龙县| 高州市| 新疆| 镇安县| 婺源县| 太保市| 万源市| 长子县|