簡(jiǎn)介
之前已經(jīng)寫過(guò)兩篇介紹列存儲(chǔ)索引的文章,但是只有非聚集列存儲(chǔ)索引,今天再來(lái)簡(jiǎn)單介紹一下聚集的列存儲(chǔ)索引,也就是可更新列存儲(chǔ)索引。在SQL Server 2012中首次引入了基于列存儲(chǔ)數(shù)據(jù)格式的存儲(chǔ)方式。叫做“列存儲(chǔ)索引”。前一篇我已經(jīng)比較了行存儲(chǔ)索引與非聚集的列存儲(chǔ)索引(http://www.cnblogs.com/wenBlog/p/5682024.html)。其中對(duì)于在小表的指定值或者小范圍的查詢來(lái)講,尤其針對(duì)事務(wù)性的負(fù)載行存儲(chǔ)是很合適的。但是對(duì)于分析性負(fù)載像數(shù)據(jù)倉(cāng)庫(kù)和BI,在查詢中將會(huì)對(duì)大量數(shù)據(jù)進(jìn)行全掃描,例如事實(shí)表,這時(shí)候列存儲(chǔ)索引就是更好地選擇。
列存儲(chǔ)索引結(jié)構(gòu)
在列存儲(chǔ)索引中,數(shù)據(jù)按照獨(dú)立列組織到一起形成索引結(jié)構(gòu)。每列都數(shù)據(jù)都位于被高度壓縮的數(shù)據(jù)集中,叫做數(shù)據(jù)段。這個(gè)數(shù)據(jù)段只包含該列的值,對(duì)于大型表它分到多個(gè)數(shù)據(jù)段中,每個(gè)數(shù)據(jù)段中只含有100萬(wàn)行數(shù)據(jù),這就叫做行組、數(shù)據(jù)段由一個(gè)或者多個(gè)數(shù)據(jù)頁(yè)組成。數(shù)據(jù)將在內(nèi)存和硬盤上以數(shù)據(jù)段的形式傳輸。
這種索引提高了數(shù)據(jù)倉(cāng)庫(kù)的查詢效率。這種通過(guò)壓縮獲得數(shù)據(jù)格式要比B-Tree結(jié)構(gòu)的壓縮率高7倍多。同時(shí)由于列存儲(chǔ)索引使用了批處理模式執(zhí)行,數(shù)據(jù)處理也是批處理的,較少了CPU的使用。列存儲(chǔ)索引強(qiáng)化了檢索數(shù)據(jù)的速度,與行存儲(chǔ)不同的是不用查詢所有列。因?yàn)檫@個(gè)原因,更少數(shù)據(jù)被讀取到內(nèi)存中,再到處理器緩存處理。相關(guān)的這些因素都會(huì)減少硬盤IO,提高整體查詢的性能。
在2014中列存儲(chǔ)索引有以下限制:
最多支持1024列在你的索引中;
列存儲(chǔ)索引不能被定義為唯一性索引;
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26