我在 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 High CPU Medium istance 上单独运行 MySQL,我认为这些性能“正常”几乎是不可能的,我希望性能更高。
你有什么想法来调查这个问题吗?
** 更新 ** 感谢您的快速回答,表是 InnoDB,id 是 PRIMARY,UNIQUE。值为 TEXT(不是 varchar)
** 更新之二 ** 不,id 是整数,所有其他字段都是 TEXT