一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SQL Serverf 索引 - 索引壓縮 、附加特性 <第十篇>

 賈朋亮博客 2014-10-25

一、索引壓縮

  數(shù)據(jù)和索引壓縮在SQL Server2008被引入。壓縮一個(gè)索引意味著將在一個(gè)頁(yè)面中獲得更多的關(guān)鍵字信息。這可以造成重大的性能改進(jìn),因?yàn)榇鎯?chǔ)索引需要的頁(yè)面和索引級(jí)別更少。因?yàn)樗饕械逆I值被壓縮和解壓縮,也將造成CPU和內(nèi)存的開銷,所以這并不是適合所有索引的方案。

  默認(rèn)情況下,索引將不會(huì)被壓縮。必須明確地在創(chuàng)建索引時(shí)要求索引被壓縮。有兩種壓縮類型:行級(jí)壓縮和頁(yè)面級(jí)壓縮。索引中的非葉子頁(yè)面不接受頁(yè)面類型壓縮。

  創(chuàng)建壓縮索引的語(yǔ)法如下:

CREATE NONCLUSTERED INDEX IX_Person_Name
ON PersonOneMillion(Name)
WITH(DATA_COMPRESSION = Page)

  下面以一個(gè)示例來(lái)看看壓縮索引的作用:

  正常索引:

  

  行級(jí)壓縮索引:

  

  頁(yè)面級(jí)壓縮索引:

  

  我們看到對(duì)于100萬(wàn)索引的Name列索引,索引數(shù)據(jù)頁(yè)面分別是:

普通索引 行索引 頁(yè)面索引
3109 2135 1962

  從上面的例子我們可以得出結(jié)論,的確壓縮能夠能夠大幅減少索引的頁(yè)面量。但是舉個(gè)很簡(jiǎn)單的例子,如果一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上,內(nèi)存和CPU已是瓶頸,那么壓縮數(shù)據(jù)作用實(shí)際上并不大。

  至于更具體的哪個(gè)更好,這個(gè)有時(shí)間了再慢慢測(cè)試?,F(xiàn)在只是知道了索引可以壓縮已減少索引數(shù)據(jù)頁(yè)面數(shù)量。

  附上一個(gè)查看索引消息的SQL語(yǔ)句:

--查看索引數(shù)據(jù)頁(yè)數(shù)
SELECT i.name,i.type_desc,s.page_count,s.record_count,s.index_level,compressed_page_count
FROM sys.indexes i JOIN sys.dm_db_index_physical_stats(DB_ID(N'DataExample'),OBJECT_ID(N'PersonOneMillion'),NULL,NULL,'DETAILED') AS s
ON i.index_id = s.index_id
WHERE i.OBJECT_ID = OBJECT_ID(N'PersonOneMillion')

二、 附加特性

  1、不同的列排序順序

  SQL Server支持使用不同的排序順序?yàn)樗饕牟煌袆?chuàng)建一個(gè)復(fù)雜的索引。如果希望一個(gè)索引的第一列按照升序排列二第二列按照降序排列,可以用如下語(yǔ)句完成:

  CREATE NONCLUSTERED INDEX IX ON Table(c1 ASC,c2 DESC)

  2、BIT數(shù)據(jù)類型列上的索引

  SQL Server允許創(chuàng)建在BIT數(shù)據(jù)類型列上的索引。創(chuàng)建BIT數(shù)據(jù)類型列上的索引的能力本身不是一個(gè)大的優(yōu)點(diǎn),因?yàn)檫@樣的列只能有兩個(gè)不同的值。這么低的選擇性的列通常不是好的索引后選擇。但是,這個(gè)功能在考慮覆蓋索引時(shí)非常有用。因?yàn)楦采w索引需要包含所有搜索中的返回列,而在索引中添加BIT數(shù)據(jù)類型列將使得覆蓋索引在需要時(shí)包含這樣的列。

  3、CREATE INDEX語(yǔ)句也會(huì)使用索引提升速度

  CREATE INDEX操作被集成到查詢處理器。優(yōu)化器可能使用已有的索引來(lái)減少掃描開銷并在創(chuàng)建索引時(shí)排序。

  

  在第一個(gè)索引中由于已經(jīng)包含了Name列,而第二個(gè)索引也要使用Name列的時(shí)候,創(chuàng)建索引SQL Server直接使用索引掃描的方式來(lái)創(chuàng)建索引。

  4、并行索引創(chuàng)建

  SQL Server支持CREATE INDEX語(yǔ)句的并行計(jì)劃,正如在其他SQL查詢中一樣。在一個(gè)多處理器的機(jī)器上,索引創(chuàng)建不限于單個(gè)處理器而是從多個(gè)處理器中獲益??梢允褂肧QL Server的max degree of parallelism配置參數(shù)來(lái)控制用于CREATE INDEX語(yǔ)句中的處理器數(shù)量。這個(gè)參數(shù)的默認(rèn)值為0,0表示可以使用任意的CPU數(shù)量。

EXEC sp_configure 'max degree of parallelism'     --默認(rèn)值為0

EXEC sp_configure 'max degree of parallelism', 2    --使用2個(gè)CPU
RECONFIGURE WITH OVERRIDE

  這個(gè)配置設(shè)置立即生效,不需要重啟服務(wù)器。
  查詢提示MAXDOP可以用于CREATE INDEX語(yǔ)句。而且,CREATE INDEX特性只可以用于SQL Server 2005和2008企業(yè)版。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    偷拍偷窥女厕一区二区视频| 亚洲天堂一区在线播放| 成人亚洲国产精品一区不卡| 国产熟女一区二区三区四区| 不卡中文字幕在线免费看| 亚洲免费黄色高清在线观看| 肥白女人日韩中文视频| 国产一级二级三级观看| 午夜亚洲精品理论片在线观看| 在线观看免费视频你懂的| 日韩午夜福利高清在线观看| 日本精品中文字幕在线视频 | 国产剧情欧美日韩中文在线| 欧美乱妇日本乱码特黄大片| 亚洲国产精品肉丝袜久久| 欧美一区二区三区不卡高清视| 中国美女草逼一级黄片视频| 国产精品香蕉免费手机视频| 黄色国产精品一区二区三区| 国产水滴盗摄一区二区| 欧美日韩国产精品黄片| 日韩欧美一区二区不卡视频| 日韩av亚洲一区二区三区| 日韩成人免费性生活视频| 久久国产精品亚州精品毛片 | 国内九一激情白浆发布| 欧美成人免费一级特黄| 高中女厕偷拍一区二区三区| 久热人妻中文字幕一区二区| 精品人妻一区二区三区免费看| 国产精品伦一区二区三区在线| 内射精品欧美一区二区三区久久久| 九九视频通过这里有精品| 亚洲国产性感美女视频| 精品国产亚洲av久一区二区三区 | 亚洲av又爽又色又色| 丰满人妻少妇精品一区二区三区| 精品推荐国产麻豆剧传媒| 在线精品首页中文字幕亚洲| 九七人妻一区二区三区| 国产精品尹人香蕉综合网|