自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2008數(shù)據(jù)壓縮的正確執(zhí)行

數(shù)據(jù)庫 SQL Server
我們今天主要描述的是正確執(zhí)行SQL Server 2008數(shù)據(jù)壓縮的實(shí)際操作流程,以下就是相關(guān)內(nèi)容的詳細(xì)介紹,望你能有所收獲。

下面的文章主要介紹的是正確執(zhí)行SQL Server 2008數(shù)據(jù)壓縮的實(shí)際操作流程,在實(shí)際操作中我們對(duì)SQL Server 2008數(shù)據(jù)庫的新功能進(jìn)行觀察時(shí),我們發(fā)現(xiàn)一個(gè)叫做數(shù)據(jù)壓縮的可能很有趣的功能,我們可以用這個(gè)功能來縮小表,索引或者它們分區(qū)的一個(gè)子集。

您能給我們提供如何利用這個(gè)新功能的詳細(xì)解釋嗎?

專家解答

在SQSQL Server 2008數(shù)據(jù)壓縮在SQL Server 2005 的Service Pack 2中已經(jīng)可以使用了,在Service Pack 2中,引進(jìn)了存儲(chǔ)小數(shù)和數(shù)字?jǐn)?shù)據(jù)。Vardecimal存儲(chǔ)格式允許小數(shù)和數(shù)字?jǐn)?shù)據(jù)類型以變長的形式存儲(chǔ)。這個(gè)概念在SQL Server 2008中被擴(kuò)展成全部定長的數(shù)據(jù)類型,比如integer,char和float 數(shù)據(jù)類型。數(shù)據(jù)壓縮通過減少I/O和提高緩沖區(qū)命中率來降低儲(chǔ)存成本和提高查詢性能。

SQL Server 2008在表級(jí)別和索引級(jí)別上支持行和頁的壓縮。以下是兩種類型的SQL Server 2008數(shù)據(jù)壓縮的不同之處。

行壓縮(ROW Compression) 這種壓縮功能考慮到變長數(shù)據(jù)類型結(jié)構(gòu)來定義一欄。比如,以變長存儲(chǔ)的一個(gè)CHAR(100)欄只能使用由數(shù)據(jù)定義的存儲(chǔ)空間大小。在欄中存儲(chǔ)“SQL Server 2008”只要求存儲(chǔ)15個(gè)字符而不是完整的100個(gè)字符,因此,在存儲(chǔ)空間上節(jié)省率為85%。

這是在SQL Server 2005 Service Pack 2中可以使用的 vardecimal存儲(chǔ)格式的擴(kuò)展。還要注意到,這個(gè)壓縮功能沒有因?yàn)榱慊蛘呖罩刀加么疟P空間。

頁級(jí)別壓縮(PAGE Compression) 這種壓縮功能是行壓縮的父集,它考慮到給定的頁內(nèi)的一行或多行冗余數(shù)據(jù)。它也使用前綴和字典壓縮。這僅僅意味著對(duì)于兩種頁壓縮技術(shù),存儲(chǔ)引擎在頁內(nèi)減少重復(fù)數(shù)據(jù)。

比如,如果利用一列前綴把一張表分區(qū),在一個(gè)具體分區(qū)中的所有數(shù)據(jù)都會(huì)有一樣或者相似的前綴。讓我們以一些像A1000Q-xxxx的產(chǎn)品代碼為開始說一些欄的值,存儲(chǔ)引擎存儲(chǔ)A1000Q – 一開始在頁上接著在相同的頁面上從這個(gè)值的其他所有的發(fā)生的事指到這個(gè)值。這也可以說成有已經(jīng)定義好的默認(rèn)約束的一欄。頁壓縮只發(fā)生在頁已經(jīng)完全優(yōu)化性能的時(shí)候。

 

雖然表面看來數(shù)據(jù)壓縮會(huì)縮小你的表和索引,但是最好首先通過

 

sp_estimate_data_compression_savings系統(tǒng)存儲(chǔ)程序或數(shù)據(jù)壓縮Wizard工具在表或索引中評(píng)估預(yù)計(jì)的節(jié)省空間。你也可能檢查現(xiàn)有數(shù)據(jù)是否成為碎片,因?yàn)槟憧赡芸梢酝ㄟ^重建它而不是使用壓縮來縮小索引。

評(píng)估存儲(chǔ)節(jié)省空間

我們可以使用sp_estimate_data_compression_savings系統(tǒng)存儲(chǔ)程序或者SQL Server 2008數(shù)據(jù)壓縮Wizard工具去為索引中的一張表找出預(yù)計(jì)的存儲(chǔ)節(jié)省空間。為了使用AdventureWorks數(shù)據(jù)庫中的

sp_estimate_data_compression_savings系統(tǒng)存儲(chǔ)程序,

 

 

  1. USE AdventureWorks   
  2. GO   
  3. EXEC sp_estimate_data_compression_savings 'Sales', 'SalesOrderDetail', NULL, NULL, 'ROW' ;   
  4. GO 

 

 

 

在這里,

 

l 第一個(gè)參數(shù)是模式名,

l 第二個(gè)參數(shù)是對(duì)象名,

l 第三個(gè)參數(shù)是索引id,

l 第四參數(shù)是分區(qū)id,

l 最后一個(gè)參數(shù)是壓縮類型。

在以上的例子中,我會(huì)考慮在AdventureWorks數(shù)據(jù)庫中的Sales.SalesOrderDetail表上的行壓縮。執(zhí)行這個(gè)查詢會(huì)給你如下顯示的結(jié)果: 

 

請(qǐng)注意欄size_with_current_compression_setting(KB)和

 

size_with_requested_compression_setting (KB),假設(shè)沒有碎片,這兩個(gè)欄會(huì)讓你對(duì)在Sales.SalesOrderDetail表中實(shí)現(xiàn)節(jié)省空間有個(gè)估計(jì)。

要使用數(shù)據(jù)壓縮Wizard工具,右鍵單擊Sales.SalesOrderDetail表,選擇存儲(chǔ)并且單擊管理壓縮?!?/p>

 

這將在Welcome to Data Compression Wizard上啟動(dòng)SQL Server 2008數(shù)據(jù)壓縮Wizard工具,點(diǎn)擊下一步。

 

在選擇壓縮類型頁面上,在壓縮類型欄里點(diǎn)擊下拉菜單,選擇你的壓縮類型選項(xiàng)。我將選擇行,因?yàn)檫@是通過sp_estimate_data_compression_savings系統(tǒng)存儲(chǔ)程序使用的選項(xiàng)。點(diǎn)擊計(jì)算按扭來顯示由存儲(chǔ)程序提供的相似信息。

這兩種方法將會(huì)讓你獲得通過壓縮你的表和索引來獲得存儲(chǔ)節(jié)省空間的一個(gè)估計(jì)。

使壓縮在表上可用

 

為了使壓縮在現(xiàn)有的非分區(qū)表上可用,可以使用有REBUILD選項(xiàng)的ALTER TABLE命令。

 

  1. ALTER TABLE Sales.SalesOrderDetail  
  2. REBUILD WITH (DATA_COMPRESSION = ROW);  

 

上面的語句使行壓縮在Sales.SalesOrderDetail表上可用。你也可以繼續(xù)用數(shù)據(jù)壓縮Wizard去使壓縮在表上可用。在點(diǎn)擊選擇壓縮類型頁面上的計(jì)算按扭之后,點(diǎn)擊下一步。在選擇一個(gè)輸出選項(xiàng)的頁面上,你可以選擇要么創(chuàng)建一個(gè)用于評(píng)論的腳本要么保存到一個(gè)文件中,立即運(yùn)行或把它當(dāng)作一個(gè)工作。

作為一個(gè)數(shù)據(jù)庫管理員,你可能會(huì)把這個(gè)當(dāng)作你的數(shù)據(jù)庫日常維護(hù)的一部分,所以你可能也會(huì)為評(píng)論它而創(chuàng)建一個(gè)腳本,然后包括一個(gè)數(shù)據(jù)庫維護(hù)工作。點(diǎn)擊下一步按扭來繼續(xù)。

在點(diǎn)擊完成之前,審查SQL Server 2008數(shù)據(jù)壓縮摘要頁面。

你可能想要?jiǎng)?chuàng)建一個(gè)腳本,這個(gè)腳本通過使用sp_estimate_data_compression_savings系統(tǒng)存儲(chǔ)程序來遍歷所有的表,以此來產(chǎn)生摘要報(bào)告,而系統(tǒng)存儲(chǔ)程序?qū)?huì)幫助你分析你會(huì)壓縮哪些表或者索引。

【編輯推薦】

  1. SQL Server獲取表的容量很簡單!
  2. SQL Server排序遇到NULL,不怕不帕!
  3. SQL Server 2005兩種快照隔離機(jī)制的不同之處
  4. SQL Server 2008 FileStream支持“真功夫版”
  5. SQL Server 2008稀疏列與列集的經(jīng)驗(yàn)總結(jié)
責(zé)任編輯:佚名 來源: 清華大學(xué)出版社
相關(guān)推薦

2013-03-13 09:53:50

SQL Server

2011-03-29 13:56:12

SQL Server 數(shù)據(jù)壓縮

2010-03-05 09:27:07

SQL Server

2009-06-22 10:22:57

SQL Server

2010-07-19 13:22:45

SQL Server

2010-07-09 09:46:28

SQL Server

2010-07-16 10:29:02

SQL Server

2010-07-12 14:55:34

SQL Server

2013-07-22 13:54:32

iOS開發(fā)ASIHTTPRequ

2010-07-06 09:33:07

SQL Server遠(yuǎn)

2009-04-16 18:25:55

2009-02-16 13:21:25

數(shù)據(jù)挖掘SQL Server SQL Server

2010-07-22 11:09:33

SQL Server內(nèi)

2023-11-09 09:48:16

數(shù)據(jù)壓縮微服務(wù)

2018-05-28 21:51:25

Protocol bu數(shù)據(jù)存儲(chǔ)序列化

2010-07-21 10:50:48

SQL Server存

2010-07-26 08:49:58

SQL Server游

2010-11-12 11:48:15

2011-08-01 09:09:07

SQL Server SQL Server 數(shù)據(jù)庫

2010-06-28 11:28:26

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)