婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL Server 2008中的數據表壓縮功能詳細介紹

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

熱門標簽:寧夏外呼系統方案 電銷外呼系統違規 濟南電銷外呼防封卡怎么樣 高德地圖標注生成 南京外呼系統租用 400電話怎么申請收費標準 怎樣在地圖標注自己的信息 智能語音外呼系統打電話 400電話辦理2273649Z空間

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中的數據壓縮

SQL Server 2008中引入了數據壓縮的功能,允許在表、索引和分區中執行數據壓縮。這樣不僅可以大大節省磁盤的占用空間,還允許將更多數據頁裝入內存中,從而降低磁 盤IO,提升查詢的性能。當然,凡事有利有弊,在啟用數據壓縮后,數據庫服務器就需要額外的CPU資源來進行壓縮處理。一般說來,數據庫服務器的CPU占 用率不會太高,而磁盤IO容易成為瓶頸,所以在大多數情況下對大數據庫特別是數據倉庫啟用該項功能還是利大于弊。

SQL Server 2008的數據壓縮分為行壓縮和頁壓縮兩種。行壓縮主要是通過將固定長度類型存儲為可變長度類型來實現,同時還減少了與記錄相關聯的元數據開銷。頁壓縮在行壓縮的基礎上又增加了前綴壓縮和字典壓縮,能獲得更大的壓縮率。

要 啟用數據庫壓縮只需在建表語句后加入WITH (DATA_COMPRESSION = ROW)或是WITH (DATA_COMPRESSION = PAGE)即可。如需將現有的索引修改為啟用壓縮,可通過ALTER INDEX index ON Table REBUILD WITH (DATA_C0MPRESSION=ROW)或ALTER INDEX index ON Table REBUILD WITH (DATA_C0MPRESSION=PAGE)實現。

最后提供一段簡單的用以判斷是否需要壓縮數據表的腳本,并自動生成壓縮腳本供系統管理員執 行。這里用到未公開的存儲過程sp_MSforeachtable。在這段腳本中@precommand參數用于執行command指令執行前的SQL命 令,建立一張臨時表用于保存數據表的信息,@command1參數表示需要執行的SQL命令,對每一張表都利用sp_spaceused存儲過程獲取表的 磁盤占用信息并保存到建立的臨時表中,@postcommand參數用于執行command指令后的SQL命令,將之前建立的臨時表與系統關聯,根據設置 的條件(數據表占用空間大于10G)生成數據表壓縮腳本。

exec sp_MSforeachtable
@precommand=N'
create table ##(
id int identity,
name sysname,
rows int,
reserved Nvarchar(50),
data varchar(50),
indexdata varchar(50),
unused varchar(50))',
@command1=N'insert into ##(name,rows,reserved,data,indexdata,unused) exec sp_spaceused ''?''
update ## set data=SUBSTRING(data, 1, LEN(data) - 2) where id=scope_identity() AND LEN(data) >=2',
@postcommand=N'SELECT ''ALTER TABLE '' + TABLENAME + '' REBUILD WITH ( DATA_COMPRESSION = PAGE )'' FROM sys.tables A
JOIN
(SELECT C.name + ''.'' + A.name AS TABLENAME, object_id FROM ## A
JOIN sys.objects B
ON A.name = B.name
JOIN sys.schemas C
ON B.schema_id = C.schema_id
WHERE CAST(data AS int) > 10000000 AND object_id IN (SELECT object_id FROM sys.tables)) B
ON A.object_id = B.object_id AND type = ''U'';drop table ##'

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

標簽:平頂山 茂名 長白山 貴港 唐山 仙桃 潛江 惠州

巨人網絡通訊聲明:本文標題《SQL Server 2008中的數據表壓縮功能詳細介紹》,本文關鍵詞  SQL,Server,2008,中的,數據表,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server 2008中的數據表壓縮功能詳細介紹》相關的同類信息!
  • 本頁收集關于SQL Server 2008中的數據表壓縮功能詳細介紹的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产精品久久久久秋霞影院| 日韩精品亚洲一区二区三区免费| 国产精品色婷婷| 国产精品18久久久久| 欧美激情一区在线观看| 日韩欧美一区中文| 色综合久久九月婷婷色综合| 午夜一区二区三区视频| 久久综合久久综合久久综合| 99久久99久久免费精品蜜臀| 亚洲三级电影网站| 国产日韩精品久久久| 777a∨成人精品桃花网| 色素色在线综合| 一本色道久久综合亚洲aⅴ蜜桃| 99在线热播精品免费| 婷婷丁香久久五月婷婷| 欧美成人猛片aaaaaaa| 精品久久一区二区| 欧美韩国一区二区| 亚洲精品在线观看网站| 久久综合九色综合欧美亚洲| 久久久美女毛片| 成人毛片视频在线观看| 夜夜嗨av一区二区三区中文字幕 | 在线观看欧美精品| 精品国精品自拍自在线| 欧美国产日本视频| 国产精品久久99| 亚洲欧美综合另类在线卡通| 91精品国产aⅴ一区二区| 精品国产不卡一区二区三区| 精品国产123| 国产精品色哟哟网站| 国产精品免费久久| 国产精品区一区二区三| 欧美日韩国产首页| 911国产精品| 亚洲色图另类专区| 亚洲欧美日韩国产手机在线| 久久狠狠亚洲综合| 99国产精品国产精品毛片| 国产91精品一区二区麻豆网站| 免费精品视频在线| 国产不卡视频一区二区三区| 成人av网站免费| 99精品视频在线免费观看| 欧美性猛片xxxx免费看久爱| 久久尤物电影视频在线观看| 国产精品美日韩| 亚洲va天堂va国产va久| 国产精品一二三在| 欧美亚州韩日在线看免费版国语版| 精品成人免费观看| 日本不卡一二三| 色综合中文综合网| 日韩欧美色电影| 国产精品毛片久久久久久| 3atv一区二区三区| 欧美成人猛片aaaaaaa| 亚洲视频网在线直播| 九色porny丨国产精品| 色狠狠一区二区| 欧美一区二区三区免费在线看| 欧美精彩视频一区二区三区| 一区二区三区中文字幕在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 99精品国产99久久久久久白柏| 欧美一级高清大全免费观看| 国产精品色呦呦| 国产传媒欧美日韩成人| 日韩一区二区中文字幕| 亚洲国产一区二区三区青草影视| 国产成人免费在线视频| 欧美变态tickle挠乳网站| 亚洲成人黄色小说| 这里只有精品电影| 水蜜桃久久夜色精品一区的特点| 91浏览器入口在线观看| 国产精品网站导航| 国产不卡在线视频| 国产精品国产自产拍高清av| 大白屁股一区二区视频| 国产精品久久久久久久久久久免费看 | 精品少妇一区二区三区免费观看 | 欧美人狂配大交3d怪物一区| 国产日韩v精品一区二区| 蜜臀va亚洲va欧美va天堂| 日韩欧美aaaaaa| 激情综合网天天干| 国产精品女人毛片| 97精品久久久久中文字幕| 亚洲黄色尤物视频| 日韩女优制服丝袜电影| 国产麻豆欧美日韩一区| 久久综合给合久久狠狠狠97色69| 国内精品免费**视频| 国产精品国产三级国产aⅴ入口 | 午夜久久久久久久久| 欧美日韩精品三区| 久草热8精品视频在线观看| 欧美国产国产综合| 555www色欧美视频| 成人免费看黄yyy456| 五月激情六月综合| 欧美激情在线看| 精品sm捆绑视频| 日韩午夜在线观看视频| 亚洲三级视频在线观看| 老司机午夜精品| 国产一区二区精品在线观看| 欧美日韩高清一区二区| 日韩精品一区第一页| 国产精品污www在线观看| 欧美一区二区三区四区久久| 99久久精品免费看国产免费软件| 香蕉成人啪国产精品视频综合网| 久久精品一区四区| 日韩欧美国产高清| 欧日韩精品视频| 欧美三区在线观看| 欧美在线短视频| 欧美中文字幕一二三区视频| 99久久精品国产麻豆演员表| 国产一区二区电影| 久久99久久精品| 精品一区二区三区免费观看| 免费看黄色91| 国产资源在线一区| 欧美精品一区二区三区蜜桃视频| 国产一区二区不卡| 丝瓜av网站精品一区二区| 亚洲最大色网站| 奇米影视7777精品一区二区| 成熟亚洲日本毛茸茸凸凹| 成人国产精品免费观看动漫 | 日韩不卡手机在线v区| 亚洲国产精品精华液ab| 91免费版在线看| 粉嫩蜜臀av国产精品网站| 天堂精品中文字幕在线| 日本亚洲欧美天堂免费| 99视频精品在线| 亚洲视频一二三| 国产精品福利一区| 欧美日韩国产系列| 美腿丝袜亚洲综合| 国产欧美日韩卡一| 91色综合久久久久婷婷| 亚洲精品乱码久久久久久久久| 91浏览器打开| 欧美亚洲日本一区| 久久久欧美精品sm网站| 欧美成va人片在线观看| 色综合久久久久综合体桃花网| 日韩电影在线观看电影| 国产日韩欧美a| 色视频成人在线观看免| 18欧美亚洲精品| 欧美一区二区在线播放| 成人动漫一区二区三区| 精品噜噜噜噜久久久久久久久试看| 亚洲电影欧美电影有声小说| 中文字幕一区二区在线观看| 国产欧美日韩卡一| 日本欧美一区二区| 波多野结衣一区二区三区| 51精品国自产在线| 亚洲美女视频在线观看| 国内成+人亚洲+欧美+综合在线| 91麻豆视频网站| 欧美va日韩va| 蜜臀久久99精品久久久久宅男| 成人av电影在线| 欧美精品一二三| 日韩av午夜在线观看| 欧美日韩一区二区在线视频| 国产精品视频在线看| 国产v日产∨综合v精品视频| 久久先锋影音av鲁色资源网| 看片的网站亚洲| xvideos.蜜桃一区二区| 久久99精品久久久久久国产越南| 51精品秘密在线观看| 热久久国产精品| 欧美电视剧免费全集观看| 另类小说图片综合网| 欧美不卡视频一区| 激情五月播播久久久精品| 日韩片之四级片| 久久91精品久久久久久秒播| 久久男人中文字幕资源站| 久久精品国产99久久6| 日韩免费看的电影| 国产成人av电影在线| 国产精品传媒在线| 色综合咪咪久久| 免费成人美女在线观看.| 免费精品99久久国产综合精品| 精品国产网站在线观看|