哪种PHP压缩方法更好?

哪种PHP压缩方法更好?,php,compression,deflate,Php,Compression,Deflate,我在一个使用Yii框架的PHP系统上工作。 我有大量的纯文本,需要将这些数据存储在Postgres的数据库中。 我做了一些研究,发现了这两个函数:gzdeflate和gzcompress。 我看不出这些函数在性能和结果上有多大差别 你们能告诉我他们之间是否有表达上的差异吗?顺便说一句,我走的路对吗?在将纯文本放入数据库之前对其进行压缩是节省带宽和磁盘空间的最佳解决方案?好吧,在这两者之间,gzdeflate似乎具有更好的压缩率。我做了一些测试,没有发现在执行时间上有显著差异。是的,当您需要减少空

我在一个使用Yii框架的PHP系统上工作。 我有大量的纯文本,需要将这些数据存储在Postgres的数据库中。 我做了一些研究,发现了这两个函数:gzdeflategzcompress。 我看不出这些函数在性能和结果上有多大差别


你们能告诉我他们之间是否有表达上的差异吗?顺便说一句,我走的路对吗?在将纯文本放入数据库之前对其进行压缩是节省带宽和磁盘空间的最佳解决方案?

好吧,在这两者之间,gzdeflate似乎具有更好的压缩率。我做了一些测试,没有发现在执行时间上有显著差异。是的,当您需要减少空间使用和频带使用时,使用压缩总是一个好主意。

在将文本放入数据库之前,不要压缩或以其他方式编码文本,除非您110%肯定您将永远不需要对其执行除简单存储和检索以外的任何操作。如果您认为可能需要根据该文本中包含的内容发布选择,那么您将完全被套住

也就是说,如果您计划在DB表中存储大量数据,那么许多DBMS都内置了透明压缩。例如:


最后,压缩和放气之间的差异在我看来可以忽略不计。只要记住永远不要将压缩级别设置为9,除非您希望您的CPU因没有理由而起火。

请参阅
gzdeflate
不会像
gzcompress
那样在deflate数据周围生成zlib头和尾,因此结果总是短六个字节。但是,它会丢失一个重要的完整性检查。使用
gzcompress

除非您已经对一个非常积极的性能用例进行了基准测试,否则不要手动压缩。HTTP将自动压缩(使用任何sane服务器配置),而“压缩”小文本甚至可能有害。压缩信息也必须经过特殊处理——除非有很好的需求,否则它只会使数据库中的数据难以处理。(数据库引擎中的透明自动压缩是另一回事,但关键是-它不是手动压缩。)感谢您的回答。透明压缩看起来确实是一个很好的解决方案。如何在Postgres表中配置它?