MySQL中如何压缩列?

Mon*_*hon 4 mysql compression innodb

我有一个存储电子邮件通信的表。每次有人回复时,跟踪的整个内容也会被包含并保存到数据库中(我需要这种方式,因为要纠正的应用程序级别更改的数量会太高)。

文本列的大小mail为10000。但是,我在存储文本时遇到的困难还不止于此。由于我不确定可以发生多少个通信,因此我不知道该专栏的最佳数量是多少。

发动机是InnoDB. 我可以使用某种列压缩技术来MySQL避免增加列的大小吗?

而且,如果我继续将 varchar 列增加到 20000,会怎么样。该表大约有 200 万条记录。这是一件好事吗?

Rah*_*thi 5

您可能正在寻找 MySQL COMPRESS()和UNCOMPRESS()函数来分别压缩数据以进行存储和检索。

另请参阅InnoDB 压缩用法。

  • 除非您更改为“VARBINARY”或“BLOB”,否则“COMPRESS()”将不起作用。(我认为这是不允许的。)InnoDB 压缩可能是唯一的选择;但这只会给你带来 2 倍的提升。 (2认同)