正在开发一个PHP应用程序,其中大量文本需要存储在MySQL数据库中。 PHP的 gzcompress 和MySQL的 COMPRESS 函数都是减小存储数据大小的可能方法。

谁能建议走哪条路?

(我目前的想法是gzcompress似乎更灵活,因为它允许指定压缩级别,而COMPRESS可能更易于实现和更好地去耦?性能也是一个重要考虑因素。)

最佳答案

这两种方法或多或少是同一件事,实际上您可以将它们混合使用:在php中压缩和在MySQL中解压缩,反之亦然。

要在MySQL中压缩:

INSERT INTO table (data) VALUE(COMPRESS(data));

要在PHP中压缩:
$compressed_data = "\x1f\x8b\x08\x00".gzcompress($uncompressed_data);

在MySQL中解压缩:
SELECT UNCOMPRESS(data) FROM table;

要在PHP中解压缩:
$uncompressed_data = gzuncompress(substr($compressed_data, 4));

另一种选择是use MySQL table compression

它只需要配置,然后是透明的。

关于php - MySQL COMPRESS与PHP gzcompress,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24607493/

10-16 01:46
查看更多