MySQL更新性能非常糟糕

时间:2012-10-05 09:18:03

标签: mysql sql sql-update

我在MySQL上使用UPDATE时性能非常差,我的更新声明非常基本,如:

UPDATE `tbl_name` 
   SET `field1` = 'value1', `field2` = 'value2' .. `fieldN` = 'valueN' 
WHERE `tbl_name`.`id` = 123;

值很少(15),所有TEXT类和WHERE条件只是一个使用id。 值是JSON字符串(但这不应该打扰到MySQL,它应该将它们视为纯文本)。

在“tbl_name”中我的记录很少(大约4k)。

问题是执行此UPDATE语句我得到了8秒的执行时间(取自MySQL慢查询日志)。

我在EC2高CPU中等运行时独自运行MySQL,我认为这些表现非常“不正常”,我期望更多的性能。

你有任何想法调查这个问题吗?

**更新** 谢谢你的快速答案,表是InnoDB,id是PRIMARY,UNIQUE。值为TEXT(非varchar)

** UPDATE bis ** 不,id是一个整数,所有其他字段都是TEXT

1 个答案:

答案 0 :(得分:1)

由于MySQL在版本5.6.3之前不支持EXPLAIN UPDATE语句,因此我们对此查询非常盲目。试试USE INDEX声明......

我在我的服务器上启动了相同的功能。一切都很好,有15个TEXT字段和4096行非常随意的文本。 <{1}}和USE INDEX(PRIMARY)语句都可以。

所以,我想,你的SQL服务器,安装包等等都有问题,而不是查询......