[SQL SERVER][Memo]資料壓縮對記憶體影響

[SQL SERVER][Memo]資料壓縮對記憶體影響

之前自己有大概測試SQL2008資料壓縮功能,但似乎缺少一些數據資料(有數據比較好說服同事..XD),

所以這篇我就大概簡單測試資料壓縮對記憶體是否真有差別。

 

測試資料筆數:1000000。

 

當執行Full TableScan時我將利用效能監視器來觀察記憶體的變化(perfmon.msc)

新增校能計數器:Page lookups/sec

image

 

未啟用壓縮(select * from mytbl)

image

 

平均:262.842 最小值:0 最大值:470.335

image

 

現在我們啟用資料列壓縮後,再來看看記憶體的相關變化。

--啟用資料列壓縮

ALTER TABLE dbo.mytbl

REBUILD WITH (DATA_COMPRESSION=ROW, MAXDOP=2);

 

再次執行相同SQL Statement(select * from mytbl)

image

 

平均:187.266 最小值:0 最大值:325.985

image

 

 

 

 

image

可以看到啟用資料列壓縮後,IO、運算子成本和記憶體下降的幅度可說是相當明顯,當然資料壓縮不單單只對記憶體有所影響。