压缩字符串数据以进行存储和检索

时间:2012-11-07 23:04:01

标签: php mysql

我想要存储在mysql数据库中的一些文本数据。我目前将数据存储在变量中作为字符串。

我担心由于每行的文本数据量很大,表格会变得很大。

因此,以最适合存储和检索的格式压缩此字符串数据的最简单方法(最好是内置函数的php)是什么?

2 个答案:

答案 0 :(得分:2)

您可以使用GZEncode GZIP字符串。

这是非常标准的,因此如果你愿意,可以从其他语言中撤销。

我建议存储结果的Base64版本。

答案 1 :(得分:1)

如果你正在使用InnoDB,你可以在整个表上启用压缩,这根本不会影响你的代码。

ALTER TABLE database.tableName ENGINE='InnoDB' ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;

您可以将KEY_BLOCK_SIZE更改为较小的值以获得更多压缩(取决于数据),但这会增加CPU的开销。 在测试了一系列表后,我发现KEY_BLOCK_SIZE为8,是压缩与性能的良好平衡。