Сжатие данных, хранящихся в MySQL - PullRequest
0 голосов
/ 02 февраля 2012

Мы храним полные HTML-страницы в нашей таблице в поле, называемом «conteny».Теперь эта таблица похожа на архив, и мы редко будем ее использовать.Поле 'content' имеет тип 'longtext' прямо сейчас, и я хотел бы знать, каков наилучший способ сжать и сохранить данные этой таблицы, так как они занимают много гигабайт пространства.

Я попытался просто использоватьфункция gzcompress в поле содержимого в php, но это не сработало. например,

 $content = gzcompress($content,9);

Также пытался, но это не работает:

update posts_content set content = COMPRESS(content)

Любые идеи, что лучший способ сделатьэто и как?

Другой вопрос здесь Является ли mysql автоматически сжимающим базу данных? говорит о INNODB, но мы используем MYISAM и можем перейти к INNODB в качестве окончательного варианта.

Благодарю вас

1 Ответ

1 голос
/ 02 февраля 2012

При использовании сжатия результат является двоичным, а не текстовым. Вы не должны пытаться сохранить результат в текстовом столбце. Столбец BLOB должен работать с методом gzcompress.

...