正在开发一个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/