SQLサーバーのデータテーブルに「行」データ圧縮を実装しようとしていました。116000 レコードと 30 列 (10 ~ 15 列は行データ圧縮の対象となる可能性があります) を持つ 1 つのデータ テーブルでスクリプトを正常に実行した後、物理メモリ消費量を検証するために以下の手順に従います。
ステップ 1) ドライブ内のデータベースのすべてのデータ ファイル (mfd、ldf、および ndf) のストレージ スペースを計算すると、6.63 GB になります。
ステップ 2) 行データ圧縮スクリプトが正常に実行された例
USE [DbName]
ALTER TABLE [dbo].[TableName] REBUILD PARTITION = ALL
WITH
(DATA_COMPRESSION = ROW
)
手順 3) 手順 1) に従うと、6.66GB になります。これらのステップの間に単一のトランザクションとデータ挿入はありませんでした。
私は間違った検証を行っているのでしょうか、それともデータ圧縮について間違った考えを持っていますか?
Assumptions: Data columns with Int(4 byte) data type and storing value less than 100 will be compressed to store in 1 byte(small Int) of space. Similarly for other data columns.