关于这个问题的背景.
>数据库是Postgresql 9.1
>数据是大量文本(网页标记语言)
>该列是bytea
所以我可以使用PHP的gzcompress存储压缩文本,并可能将文件大小减少高达70%,然后将其存储在bytea列中.但这项手术真的值得吗?是不是已经使用TOAST在Postgrsql中压缩了bytea,并且添加另一层压缩不会对数据的大小产生重大影响?
是和否,这取决于您的申请.
原文链接:https://www.f2er.com/php/444964.htmlRE:TOAST,according to PostgreSQL’s documentation压缩(使用LZ),如果文本大于阈值2KiB,它们仅调用压缩.
因此,如果您存储的HTML小于2KiB,那么进行自己的压缩可能是值得的,尽管在这种情况下我不会打扰,因为大多数HTML文档往往至少需要10KiB,并且在应用程序层中实现压缩看起来很麻烦,使您的数据不那么便携.从PHP中做到这一点也有非常真实的性能影响.
但是,如果你正在为一个非常大的网络论坛存储一个档案,例如,平均HTML不到2KiB,但是它有很多(一些论坛的后期数据达到数十亿)然后无论如何压缩数据都是一个很好的例子.
因此,如果你有很多(例如,大约10GB左右)的小块数据,那么自己压缩数据可能是值得的,但总是首先进行配置和基准测试!否则不要打扰并让Postgresql对它进行排序出.