這篇文章主要為大家展示了“SQL Server 2011存儲方式是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“SQL Server 2011存儲方式是什么”這篇文章吧。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的海城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!當使用數(shù)據(jù)規(guī)模為1TB、記錄條數(shù)為十四億四千萬的表時,微軟聲稱基于列的查詢在CPU時間上會有16倍的提升,而在使用時間上會有455倍的提高。在真實情況下,這意味著本來要耗費501秒的查詢,現(xiàn)在只需要1.1秒就可以完成了。這項測試是在擁有32個邏輯處理器和256GB內(nèi)存的計算機上執(zhí)行的。
微軟把每個列都隔離在自身的一組頁中,從而達到了這種驚人的改善。當執(zhí)行查詢的時候,只會從磁盤載入位于結(jié)果集中的列。而包含其它列的頁會被忽略。
這種方法相當于為每種我們所能想象到的列組合創(chuàng)建替代索引。然而,這種方式不會消耗大量的磁盤空間,它實際上會比傳統(tǒng)的表占用更小的空間。由于SQLServer的壓縮會發(fā)生在頁級別上,并且和行相比,列中的數(shù)據(jù)更容易重復,所以使用列存儲索引的表將會擁有更高的壓縮等級。
但暫時我們還不能輕易決定使用列存儲索引。首先也是最重要的,它們是不可更新的。一旦創(chuàng)建了列存儲的索引,那么就不允許在表上執(zhí)行插入、更新或者刪除等操作了。微軟期望更多商店每天對數(shù)據(jù)進行刷新,否則就需要把數(shù)據(jù)做只讀處理。在刷新周期中,我們會刪除索引,更新數(shù)據(jù),然后再重新建立索引。由于這肯定是代價昂貴的操作,所以我們可以使用垂直分區(qū)來把操作限制到邏輯表的子集范圍內(nèi)。
使用列存儲的索引也會導致性能的降低。假如你使用大多數(shù)列,那么重新組合行會耗費大量的資源。這意味著OLTP樣式的查詢應(yīng)該避免這種方式,而對于OLAP形式的查詢,這種方式會比較有利?;蛘邠Q句話說,假如你在編寫“SELECT*”或者每次抓取一行數(shù)據(jù),那么列存儲索引就不適合你。
以上是“SQL Server 2011存儲方式是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!