我正在使用Yii Framework在PHP系统上工作。 我有大量的纯文本,需要将这些数据存储在Postgres的数据库中。 我做了一些研究,发现了这两个功能: gzdeflate 和 gzcompress 。 我看不出这些功能之间的性能和结果有很大差异。
你们可以告诉我他们之间是否有明显的区别?顺便说一句,我是在正确的道路上吗?在将纯文本放入数据库之前压缩纯文本是节省磁盘带宽和空间的最佳解决方案吗?
答案 0 :(得分:1)
在将文本放入数据库之前不要压缩或以其他方式编码,除非您 110%肯定 ,从不需要执行除了简单的存储和检索之外的任何东西。如果您认为您可能需要根据该文本中包含的内容发出SELECT,那么您将完全被软化。
也就是说,如果您计划在数据库表中存储大量数据,那么许多DBMS都内置了透明压缩。例如:MySQL's InnoDB compression
最后,压缩和放气之间的差异可以忽略不计IMO。只记得永远不要将压缩级别设置为9,除非你希望你的CPU在没有葡萄干的情况下迸发出火焰。
答案 1 :(得分:0)
嗯,在这两者之间, gzdeflate 似乎有更好的压缩率。我做了一些测试,并没有发现时间执行上的显着差异。是的,当你需要减少空间使用和频段使用时,它总是一个很好的使用压缩的意识形态。
答案 2 :(得分:0)
见this answer。 gzdeflate
不会在gzcompress
执行的deflate数据周围生成zlib标头和预告片,因此结果将始终缩短6个字节。然而,它失去了重要的完整性检查。使用gzcompress
。