压缩不同数据库中的字符串

Posted

技术标签:

【中文标题】压缩不同数据库中的字符串【英文标题】:Compression of strings in different databases 【发布时间】:2011-12-09 11:45:42 【问题描述】:

mysql-server-express 可以压缩字符串吗?如果你能给我一个链接到一些文档的链接,因为我似乎找不到这个信息,我将不胜感激。

我知道 mysql 通过在字符串上使用 compress() 函数来允许这样做。还想知道这是否可以自动完成还是每次都需要使用此功能?

同样根据http://www.postgresql.org/docs/8.0/interactive/datatype-character.html - 压缩是自动完成的。我说的对吗?

【问题讨论】:

如果你问的是 mysql,你为什么要同时用 postgres 和 sql-server 标记它? “mysql-server-express”是什么意思?为什么要引用 postgres? mysql express, mysql (full), postgresql.... 我想知道关于他们 3 的信息 - 尝试在这里进行比较 看看这个 - ***.com/questions/8228950/… 【参考方案1】:

PostgreSQL 自动压缩使用 TOAST 存储的任何内容,它用于大行。这种压缩是透明的,所以调用代码看起来好像没有发生压缩——读写使用未压缩的形式——但实际上它已经发生了。

因为它是透明的,所以不会影响通过值搜索的查询。

如果您将 myisampack 与 MySQL 一起使用,它会压缩一个表,但将其设为只读。我不确定快速版本是否允许这样做。

对于任何数据库,您都可以进行自己的压缩并存储生成的 blob:

优点: 在许多情况下可能比 PostgreSQL 的压缩要好。 可能比通信协议中发生的任何压缩都要好。 如果您使用的数据可以处理它的压缩,那么工作就为您完成了。

缺点: 需要你的工作。 破坏了在相关领域内进行搜索的能力。 可能会以次优方式干扰内部压缩(尽管在那些压缩是胜利的分数中可能仍然比不压缩要好)。 如果您使用的数据无法处理压缩数据,那么您在访问它之前还有更多工作要做。

【讨论】:

以上是关于压缩不同数据库中的字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在不将文件写入光盘的情况下创建文件并压缩它们?

如何让网站打开速度快

zlib gunzip解压缩每个在同一文件上运行的不同缓冲区大小

Redis压缩列表原理与应用分析

Redis压缩列表原理与应用分析

Redis压缩列表原理与应用分析