简体   繁体   English

慢的MySQL UPDATE查询

[英]Slow MySQL UPDATE query

I have a mysql table containing 400,000 rows 我有一个包含40万行的mysql表

whenever I run a PHP script to update one row, it takes about 3-4 seconds to do it. 每当我运行PHP脚本更新一行时,大约需要3-4秒来完成。

How can I optimize the update query? 如何优化更新查询?

UPDATE `weakvocab` SET `times` = times+1, `wrong` = wrong+1, `mtime` = 1284369979 WHERE `owner` = 'owner_name' AND `vocID` = 'ID_number' AND `type` = 'type_name';

This query is about updating user data after answering a question, so I need a fast query to give user a better experience in loading the next question. 该查询是关于回答问题后更新用户数据的信息,因此我需要一个快速查询来为用户提供更好的加载下一个问题的体验。

Thank you, 谢谢,

Are the columns in your WHERE condition indexed? 您的WHERE条件中的列是否已编制索引? Change the UPDATE to a SELECT to see how Mysql executes it: 将UPDATE更改为SELECT,以查看Mysql如何执行它:

EXPLAIN SELECT * FROM `weakvocab` WHERE `owner` = 'owner_name' AND `vocID` = 'ID_number' AND `type` = 'type_name';

and paste the result in here 并将结果粘贴到这里

您可以尝试在(owner_name, vocID, type)上添加索引(owner_name, vocID, type)以便可以更快地找到要更新的记录。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM