首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 全新壓縮特性:行級、頁面級與備份壓縮深度解析

     編輯:關於SqlServer

從 Vardecimal 到全方位壓縮

SQL Server 2005 引入 Vardecimal 儲存格式作為企業版與開發版的表級選項,針對 decimal/numeric 欄位在精度需求低於定義精度時進行壓縮。SQL Server 2008 則大幅擴展壓縮技術,Chad Boyd 指出:啟用壓縮後,底層 row/page 格式將全面改變,Storage Engine 成為唯一需識別新格式的元件,架構更為精簡。

行級壓縮

  • 大幅減少中繼資料儲存開銷:每欄位從 2 位元組降至 3 位元。
  • 欄位本身更緊湊:整數欄位儲存小數值僅需 1 位元組,大數值最多 4 位元組。

頁面級壓縮

允許跨列共用重複資料,採用兩大核心技術:

欄位前綴壓縮

同一頁面內相同欄位的重複前綴值(如 'Chad'、'Chadwick'、'Chadly')僅儲存一次,其他列透過指標引用。例如 'Chad' 存儲於 CI 結構,後續值以 '1wick'、'1ly' 等形式呈現。

頁面字典壓縮

針對前綴壓縮後仍重複的片段(如 '1wick'、'1ly')建立字典,行內值進一步簡化為索引值(如 '2'、'3')。實測可將約 25 位元組的資料壓縮至 17 位元組,節省 30% 以上空間。

每頁獨立壓縮,前綴與字典儲存於頁內。僅當頁面接近滿載時才觸發壓縮,避免半頁壓縮無意義。

效能權衡

CPU 使用率上升,但 I/O 與記憶體佔用下降,整體系統效能通常因 I/O 減少而提升。

備份壓縮

採用一般檔案系統壓縮技術,資料庫層級啟用/停用,無其他調整選項。非企業版亦可還原壓縮備份,但壓縮功能可能限企業版專用。

結語

SQL Server 2008 透過行級、頁面級與備份壓縮三重機制,大幅降低儲存成本與 I/O 開銷,為資料倉庫等大量資料工作負載帶來顯著效能提升。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved