在多个文本行和blob上保存数据,效果更好?

时间:2015-01-20 14:03:15

标签: mysql performance

我需要在MySql中保存一些需要超快速检索的数据。由于我们可以在MySql中插入文本量的限制,我将其分成几部分并为它们添加序列号。因此,当我获取它们时,我将它们全部取出并合并。这种方法比blob更快吗?

1 个答案:

答案 0 :(得分:0)

如果您的MEDIUMTEXT / MEDIUMBLOB是可压缩的,则在客户端压缩它并将其存储到MEDIUMBLOB中。普通文本是3x可压缩的。大多数图像格式都不可压缩。

为什么呢?通过在客户端中进行压缩,您只能向服务器传输3MB,而不能传输10MB。在磁盘上存储3MB比10MB快得多。

压缩将禁止FULLTEXT。

如果您需要存储超过16MB的内容,那么您的分块可能是“正确”的解决方案 - 由于各种原因我们还没有涉及。

另一种方法是将10MB存储在一个文件中,然后将文件名(或URL或其他)存储在VARCHAR中的数据库中。这有利有弊;这是一个常见的问题。