SQL Server 2008 ページ圧縮 vs. 行圧縮

SQL Server 2008 からの新機能である「行圧縮」と「ページ圧縮」の比較です。次のグラフは、筆者のお客様のデータ(約1億件のデータ)に対して、テーブル スキャン(全件スキャン)をともなう検索を行った場合の非圧縮時と、データ圧縮(行圧縮、ページ圧縮)時の実行時間と CPU 時間などを比較したものです。

具体的な数値を伴うベンチマーク結果の表示は、使用許諾書で禁止されているので、相対値で表現しています。ページ圧縮により、67.6%の圧縮率(1/3 以下の圧縮)にすることができ、実行時間は 100 から 25.8 へ短縮(約 4倍のスピードUP)。行圧縮の場合にも 32.1%の圧縮率(約 2/3 に圧縮)、実行時間は 100 から 66.2 へ短縮(約 1.5 倍のスピードUP)という結果でした。その分、CPU パワーは、余分に使うようになるので、それとのトレード オフになります。
このように使いどころをうまくチョイスすれば、データ圧縮は大きな効果を得られることができます。しかし、データ圧縮機能は、銀の弾丸ではないので、デメリットとなる場面も存在します。弊社のコンサルティング サービスでは、より具体的かつ実践的に、データ圧縮をどういった場面で利用すればもっとも効果を発揮するのかなど、最適な実装方法(ベスト プラクティス)をご提供しております。。