SQL Server 2008行資料和頁資料壓縮解密

來源:互聯網
上載者:User

標籤:http   io   ar   使用   sp   on   資料   bs   ef   

SQL Server的效能主要取決於磁碟I/O效率,提高I/O效率某種程式上就意味著提高效能。SQL Server 2008提供了資料壓縮功能來提高磁碟I/O。

資料壓縮意味著減小資料的有磁碟佔用量,所以資料壓縮可以用在表,叢集索引,非叢集索引,視圖索引或是分區表,分區索引上。

資料壓縮可以在兩個層級上實現:行層級和頁層級。頁層級壓縮包括行層級壓縮。表和索引在建立的同時就可以壓縮,也可以使用Alter Table Rebuild With 或是 Alter Index Rebuild With文法壓縮已存在表或是索引。當堆(Heap)上的壓縮狀態改變時,所有的非叢集索引也會重建。

下面讓我們看看壓縮過程到底都做了些什麼。

行壓縮:

  • 1.減少中繼資料頭記錄資料。
  • 2.所有的數實值型別(integer,decimal,float)或基於數實值型別的類型都會被壓縮(datetime,money)。比如,100被存在一個int型欄位中,佔4位,但是從0~255隻需要1位,壓縮後,就節省了3byte空間。
  • 3.Char和NChar都被存放於可變長度的類型中。原因同上。比如,CSDN被存在Char(10)中,但是它只需要Char(4)空間,所以壓縮後就釋放了Char(6)個空間。
  • 4.所有類型的NULL和0都不佔位元組了。

頁壓縮:

  • 1.進行行壓縮。
  • 2.前標壓縮:每一頁中的所有列,在行標題下面,每行都儲存著一個行定義值,壓縮後,所有行的定義值都被替換成行頭值的引用。
  • 3.字典壓縮:字典壓縮和前標壓縮類似。前標壓縮中,一個與其他普通值不同的值被定義到每一列上。但是字典壓縮中,每一頁中所有列的普通值被存在下一行的行頭前面。然後,這些值被替換成新行的引用值。

下面我們來看一個例子:

USE tempdb
GO
CREATE TABLE TestCompression (col1 INT, col2 CHAR(50))
GO
INSERT INTO TestCompression VALUES (10, ‘compression testing‘)
GO 5000
-- Original
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = ROW
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = ROW);
GO
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = PAGE
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = PAGE);
GO
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = NONE
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = NONE);
GO
EXEC sp_spaceused TestCompression
GO

 

SQL Server 2008行資料和頁資料壓縮解密

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.