1

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

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

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

4

2 回答 2

2

您可以使用GZEncode GZIP 字符串。

这是非常标准的,因此如果您愿意,应该可以从其他语言中恢复。

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

于 2012-11-07T23:06:19.550 回答
1

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

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

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

于 2012-11-07T23:08:25.750 回答