亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2008中的數據表壓縮功能詳細介紹

2024-08-31 01:02:15
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了SQL Server 2008中的數據表壓縮功能詳細介紹,介紹了為何使用數據壓縮、數據壓縮的原理、數據壓縮注意事項等,需要的朋友可以參考下
 
 

SQL Server 2005 SP2為我們帶來了vardecimal功能,當時針對decimail和numeric數據類型推出了新的存儲格式--vardecimal。vardecimal存儲格式允許 decimal和numeric數據類型的存儲作為一個可變長度列。 這項功能使得原來定長的decimal數據在數據文件中以可變長的格式存儲,據稱這項功能可以為典型的數據倉庫節省30%的空間,而SQL Server 2008在這一基礎上又進一步增強了數據壓縮功能。SQL Server 2008現在支持行壓縮和頁面壓縮兩種選項,數據壓縮選項可以在以下對象上啟用:

1.未創建聚簇索引的表
2.創建聚簇索引的表
3.非聚簇索引(對表設置壓縮選項不會影響到該表上的非聚簇索引,因此聚簇索引的壓縮需要單獨設置)
4.索引視圖
5.分區表和分區索引中的單個分區

使用數據壓縮的意義:

首先讓我們來看看,為什么在存儲成本不斷降低的今天,微軟還要煞費苦心地在SQL Server中實現并且不斷改進數據壓縮技術呢?

盡管存儲成本已經不再是傳統意義上的首要考慮因素,但是這并不代表數據庫尺寸不是一個問題,因為數據庫尺寸除了會影響到存儲成本之外,還極大地關聯到管理成本和性能問題。

致于為什么會有管理成本的問題?因為數據庫需要備份,數據庫的尺寸越大,那么備份時間就會越長,當然另外一點就是消耗的備份硬件成本也會隨之提高(包括需要的備份介質成本和為了滿足備份窗口而需要更高級的備份設備帶來的采購成本),還有一種管理成本就是數據庫的維護成本,例如我們經常需要完成的 DBCC任務,數據庫尺寸越大,我們就需要更多的時間來完成這些任務。

接著我們再看看性能問題。SQL Server在掃描磁盤讀取數據的時候都是按照數據頁為單位進行讀取的,因此如果一張數據頁中包含的數據行數越多,SQL Server在一次數據頁IO中獲得的數據就會越多,這樣也就帶來了性能的提升。

最后考慮存儲的成本,按照原先SQL Server 2005 SP2中vardecimal的壓縮數據為例,30%的空間節省也就意味著30%的存儲成本,而按照SQL Server 2008當前放出的測試數據,采用新的數據壓縮技術可以達到2X-7X的存儲率,再加上如果企業要考慮容災而增加的存儲空間,這樣節省的存儲硬件成本也將是想當可觀的。

使用數據壓縮方法:

SQL Server 2008中的壓縮選項可以在創建表或索引時通過Option進行設置,例如:

復制代碼代碼如下:
CREATE TABLE TestTable (col1 int, col2 varchar(200)) WITH (DATA_COMPRESSION = ROW);

如果需要改變一個分區的壓縮選項,則可以用以下語句:
復制代碼代碼如下:
ALTER TABLE TestTable REBUILD PARTITION = 1 WITH (DATA COMPRESSION = PAGE);

如果需要為分區表的各個分區設置不同的壓縮選項,可以使用以下的語句:(SQL Server 2008可以對不同的分區使用不同的壓縮選項,這一點對于數據倉庫應用是非常重要的,因為數據倉庫的事實表通常都會有一個或數個熱分區,這些分區中的數據經常需要更新,為了避免數據壓縮給這些分區上的數據更新帶來額外的處理載荷,可以對這些分區關閉壓縮選項)
復制代碼代碼如下:
CREATE TABLE PartitionedTable (col1 int, col2 varchar(200))
ON PS1 (col1)
WITH (
DATA_COMPRESSION = ROW ON PARTITIONS(1),
DATA_COMPRESSION = PAGE ON PARTITION(2 TO 4));

 

如果是為某個索引設置壓縮選項的話,可以使用:

復制代碼代碼如下:

CREATE INDEX IX_TestTable_Col1 ON TestTable (Col1) WITH (DATA_COMPRESSION = ROW);

 

如果是修改某個索引的壓縮選項,可以使用:

復制代碼代碼如下:
ALTER INDEX IX_TestTable_Col1 ON TestTable REBUILD WITH (DATA_COMPRESSION = ROW);

 

SQL Server 2008同時還提供了一個名為sp_estimate_data_compression_savings存儲過程幫助DBA估計激活壓縮選項后對象尺寸。

使用數據壓縮的原理:

對于行壓縮,SQL Server 2008采用以下三種方法來節省存儲空間:
減少了與記錄相關聯的元數據開銷。此元數據為有關列、列長度和偏移量的信息。在某些情況下,元數據開銷可能大于舊的存儲格式。

它對于數值類型(例如,integer、decimal和float)和基于數值的類型(例如,datetime和money)使用可變長度存儲格式。

它通過使用不存儲空字符的可變長度格式來存儲定長字符串。
對于頁面壓縮,SQL Server 2008則是在一張數據頁面上依次采用:

1.行壓縮
2.前綴壓縮
3.字典壓縮

使用數據壓縮注意事項:

盡管SQL Server 2008的數據壓縮功能非常有價值,但是仍然需要注意一些問題:
數據壓縮功能僅在企業版和開發版中可用

數據壓縮可以讓一張數據頁存儲更多的數據行,但是并不能改變單行數據最長8060字節這一限制。

在一張已經設置了數據壓縮的表上創建聚簇索引時,聚簇索引默認繼承原表上的壓縮選項

在未設置聚簇索引的表上設置頁面壓縮時,只有以下情況才會獲得頁面壓縮的實際效果:

1.數據使用BULK INSERT語法添加到表中
2.數據使用INSERT INTO ... WITH (TABLOCK)語法添加到表中
3.執行帶有頁面壓縮選項的ALTER TABLE ... REBUILD命令

在未設置聚簇索引的表上更改壓縮選項,會導致該表上所有非聚簇索引都需要重建,因為這些非聚簇索引指向的數據行地址已經都發生了改變。

在改變壓縮選項時所需要的臨時空間大小與創建索引是所需要的空間是一樣的,因此對于分區表,我們可以逐個分區設置壓縮選項來減少臨時空間的需求壓力。

由于SQL Server 2008中數據壓縮技術其實是SQL Server 2005 SP2中vardecimal技術的一個超集,因此設置了數據壓縮后就沒有必要保留vardecimal了。當然SQL Server 2008為了保持向后兼容性,在當前版本中仍然保留了vardecimal,但是SQL Server 2008的下一個版本及可能就會棄用vardecimal選項,因此做了這些設置的數據庫應該盡早改變到數據壓縮設置下。

SQL Server 2008的壓縮選項是工作在存儲引擎層的,對于SQL Server的其他部件來說這一特性是透明的,因此當我們用BULK LOAD的方式將外面的數據導入SQL Server時,會顯著的增加CPU的工作載荷,同時將以壓縮的數據表導出到外部文件時,可能會消耗比原來多很多的空間。

相信到了這里,朋友們對于SQL Server 2008中的數據壓縮技術有了一個較為全面的了解。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人黄色免费看| 精品久久久香蕉免费精品视频| 国产在线视频一区| 精品调教chinesegay| 欧美国产极速在线| 97碰碰碰免费色视频| 欧美福利小视频| 国产成人精品视频| 成人精品一区二区三区电影免费| 日本不卡视频在线播放| 欧美激情乱人伦一区| 色婷婷成人综合| 久久亚洲一区二区三区四区五区高| 日韩av在线一区二区| 欧美一区二区大胆人体摄影专业网站| 国产精品h片在线播放| 日韩美女毛茸茸| 久久国产精品电影| 欧美另类99xxxxx| 福利二区91精品bt7086| 国产精品99久久久久久白浆小说| 亚洲xxxx视频| 中文字幕精品在线| 日韩美女福利视频| 日本精品久久久久影院| 欧美国产在线视频| 国产免费一区视频观看免费| 国产精品久久久久7777婷婷| 成人精品aaaa网站| 成人免费淫片aa视频免费| 久久亚洲欧美日韩精品专区| 日韩中文字幕在线看| 久久久噜久噜久久综合| 色噜噜亚洲精品中文字幕| 欧美激情免费看| 欧美成人激情图片网| 亚洲自拍偷拍第一页| 2019亚洲日韩新视频| 在线播放日韩精品| 亚洲free性xxxx护士白浆| 国产成人久久精品| 欧美天天综合色影久久精品| 国产精品av免费在线观看| 欧美日韩电影在线观看| 欧美日韩在线视频首页| 热99久久精品| 菠萝蜜影院一区二区免费| 91产国在线观看动作片喷水| 国产一区二区三区在线视频| 欧美一区二区三区免费观看| 欧美成人精品影院| 久久国产精品首页| 亚洲成人黄色网址| 亚洲欧美在线第一页| 国产精品美女网站| 久久免费少妇高潮久久精品99| 色小说视频一区| 日韩免费在线免费观看| 色系列之999| 欧美日韩福利视频| 亚洲欧洲第一视频| 亚洲欧洲午夜一线一品| 久久精品国产综合| 日韩欧美亚洲范冰冰与中字| 精品久久久久久中文字幕大豆网| 久久久久日韩精品久久久男男| 91亚洲精品一区| 日韩在线观看你懂的| 97色在线视频| 日本三级韩国三级久久| 国产日韩在线视频| 日韩精品高清在线| 久久久亚洲影院你懂的| 精品国产美女在线| 亚洲激情久久久| 中文字幕自拍vr一区二区三区| 亚洲毛片在线免费观看| 久久精品中文字幕免费mv| 国产精品黄视频| 一区二区三区视频观看| 精品久久久久久中文字幕| 亚洲性生活视频在线观看| 亚洲成av人影院在线观看| 九九久久综合网站| 欧美精品国产精品日韩精品| 久久香蕉国产线看观看av| 国产精品9999| 欧美丰满少妇xxxxx| 精品久久久精品| 久久伊人91精品综合网站| 92版电视剧仙鹤神针在线观看| xvideos亚洲| 97婷婷涩涩精品一区| 久久免费精品日本久久中文字幕| xvideos亚洲| 97香蕉超级碰碰久久免费软件| 韩国19禁主播vip福利视频| 亚洲va欧美va国产综合剧情| 中文字幕国产日韩| 91精品国产色综合久久不卡98| 国产精品日韩久久久久| 黑人巨大精品欧美一区二区| 亚洲精品一区二区网址| 美女久久久久久久| 萌白酱国产一区二区| 亚洲色图欧美制服丝袜另类第一页| 国产精品日韩欧美| 欧美视频在线观看 亚洲欧| 奇米成人av国产一区二区三区| 色噜噜狠狠狠综合曰曰曰| 欧美大片免费观看在线观看网站推荐| 日韩av在线免费看| 成人欧美一区二区三区黑人| 伊人成人开心激情综合网| 日韩av在线免费| 国产成人精品久久二区二区91| 久久久女人电视剧免费播放下载| 欧美视频在线观看免费| 美日韩丰满少妇在线观看| 成人福利在线观看| 欧美成人免费大片| 国产在线久久久| 国产亚洲a∨片在线观看| 国产一区香蕉久久| 亚洲精品自产拍| 亚洲成年网站在线观看| 97视频色精品| 久久精品亚洲国产| www.日韩视频| 久久亚洲综合国产精品99麻豆精品福利| 亚洲伊人一本大道中文字幕| 美日韩丰满少妇在线观看| 91亚洲精华国产精华| 日本久久精品视频| 国产精品第七十二页| 91福利视频在线观看| 国产日韩综合一区二区性色av| 欧美视频第一页| 欧美色视频日本版| 亚洲天堂av在线免费观看| 亚洲最大福利视频网| 久久久久久一区二区三区| 国产精品久久久久久久久久免费| 久久久久久久一区二区三区| 欧美综合国产精品久久丁香| 亚洲美女在线视频| 中文字幕亚洲无线码a| 中文精品99久久国产香蕉| 精品偷拍各种wc美女嘘嘘| 亚洲综合日韩在线| 亚洲一区二区三区xxx视频| 久久久久久国产三级电影| 欧美久久精品午夜青青大伊人| 亚洲精品美女久久| 国产视频精品免费播放| 成人精品久久一区二区三区| 成人免费网视频| 亚洲电影免费观看高清完整版在线观看| 北条麻妃在线一区二区| 38少妇精品导航| 欧美视频在线看| 久久男人的天堂| 欧美华人在线视频| 久久99视频免费|