2012-02-02 77 views
0

我們在名爲'conteny'的字段中存儲完整的html頁面。現在這個表就像一個檔案,我們很少使用它。 'content'字段現在是'longtext'類型,我想知道哪些是我們可以壓縮的最佳方式,並保留此表的數據,因爲它佔用了大量空間。壓縮存儲在mysql中的數據

我試着簡單地在php的內容字段上使用gzcompress函數,但沒有工作。

$content = gzcompress($content,9); 

也試過,但不起作用:

update posts_content set content = COMPRESS(content) 

任何想法最新最好的方式做到這一點又如何呢?

另一個問題在這裏Is mysql automatically compressing the database?談論INNODB,但我們使用MYISAM,並可能轉移到INNODB作爲最後的手段。

感謝你

+0

看看這個問題 - http://stackoverflow.com/questions/8228950/compressing-text-before-storing-it-in-the-database – Devart 2012-02-02 14:03:30

+0

如果字段類型是TEXT,那麼壓縮的二進制數據很可能被字符集轉換損壞。使用BLOB類型來存儲原始二進制數據 - 它們不受字符集轉換的限制。 – 2012-02-02 14:23:31

回答

1

使用壓縮時,結果是二進制文本。您不應該嘗試將結果存儲在文本列中。 BLOB列應與gzcompress方法一起使用。