2012-01-10 113 views
2

我正在查看更改IMAGE列的表格。我會將其更改爲VARBINARY(MAX),但我也在考慮壓縮此列中的數據,希望能夠提高性能。是否值得壓縮BLOB?

這裏是我考慮的事情:

  1. 單值一般都比較小,但可能會非常大,高達數MB。
  2. 該表看到相對較高的查詢量。
  3. 單個查詢可能檢索數百行數據。
  4. 此查詢的往返時間有時會支配應用程序的性能。

它更多的是減少從查詢中獲取結果所需的時間而不是減少表的大小,因此壓縮將在應用程序中完成,而不是在服務器上完成。那麼,值得一試,還是會浪費我的時間?

回答

2

如果內容已經被壓縮(圖片,視頻,某些PDF),那麼在另一個壓縮層上將沒有什麼價值。

如果是大容量文本,XML等,或其他非常可壓縮的東西,那麼可以節省一些成本。

0

我有一張壓縮的xmls大小從1k到30m的表 - 壓縮真的節省了空間(bzip2)。此外,我還有一個存檔表,它將這個xml的thousanrs連接在一起,然後壓縮 - 這也節省了很多寶貴的時間。對存檔來說唯一更糟糕的是 - 我爲每個xml存儲它的位置和大小,並將它們連接在一起,所以你必須解壓縮更多的數據才能得到小xml。所以,或者連接可能會被查詢在一起的事物,或者很少訪問