点击“极限”(MyISAM)后Mysql BLOB性能下降

时间:2010-12-13 10:15:03

标签: mysql performance blob

我有一个相当小的mysql数据库,我存储了一些非常小的图像(320x480),直到最近才表现得很好,表大小约为1.5Gb,大约有34,000条记录。那时......

......突然之间,性能降低了100倍。

看起来数据库已经达到了一个难以达到的极限,它再也无法应对它了。

任何人都有类似的经历吗?

(请不要建议将文件移出文件系统上的数据库,我们已决定使用下一版本的软件进行操作)

3 个答案:

答案 0 :(得分:1)

可能的原因是您的查询未使用索引。当表格相当小时,它不是问题,但是它越大,MySQL就越难以获取数据。

检查列property_id是否已编入索引。要加快查询速度,您可以添加覆盖索引 - (property_idimage

您可以通过在查询中添加EXPLAIN来查看您的查询是否使用了索引和更有用的信息:

EXPLAIN SELECT image FROM mytable WHERE property_id = 30000

答案 1 :(得分:0)

我很确定数据库已经开始利用磁盘而不是内存来进行操作。此操作很可能是将数据存储到临时表。将索引存储在磁盘上等等。找出它是什么,并且您可以更容易地找到解决方案。

性能降低1到100符合内存和磁盘之间的速度差异。

答案 2 :(得分:0)

不要在BLOB字段上创建索引,它是无用的(MySQL不会允许它)。

你有适当的索引吗?即在这种情况下,(property_id)?...