存储GZIP:在mysql中编辑文本?

Ind*_*ial 4 php mysql gzip

在将GZIP文本数据插入数据库之前,对于更大的应用程序和数据库来说,这是常见的事情吗?

我猜在实际文本字段上的任何全文搜索都不会再解压缩之前有效吗?

Pas*_*TIN 6

我没有看到这样做太多,因为它基本上阻止了对 MySQL 端的数据进行任何操作:

  • 没有全文,是的
  • 但也没有like,没有=,没有其他操纵......

不过,如果您仅使用数据库来存储该数据,而不是操作它,那可能会很有趣。

注意:您可能想要进行一些基准测试,以测量这可能产生的性能影响,因为压缩/解压缩需要 CPU!


在那之后,问题是:你会在客户端(PHP)端还是在服务器(MySQL)端处理压缩?

在第二种情况下,COMPRESS()MySQL 提供了一个您可能感兴趣的函数。


Jar*_*ott 5

如果您使用MySQL中的InnoDB表类型和更新版本之一,则可以在InnoDB表本身启用压缩.

它在低级别管理,因此不会更改您的查询或任何内容.从我所读到的,压缩的轻微开销通过减少磁盘IO并允许更多数据存储在内存中的缓冲池中来抵消.但你确实提到了InnoDB不支持的全文搜索,所以这可能不是一个选择.

MySQL中还有一个Archive表类型,但除了我认为的主键之外,你还失去了索引功能.

另一个选择是"打包"一个MyISAM表,但我相信这会使表只读,并且不会像其他选项一样压缩.