Php 慢速MySQL更新查询
我有一个包含400000行的mysql表 每当我运行PHP脚本更新一行时,大约需要3-4秒 如何优化更新查询Php 慢速MySQL更新查询,php,mysql,query-optimization,Php,Mysql,Query Optimization,我有一个包含400000行的mysql表 每当我运行PHP脚本更新一行时,大约需要3-4秒 如何优化更新查询 UPDATE `weakvocab` SET `times` = times+1, `wrong` = wrong+1, `mtime` = 1284369979 WHERE `owner` = 'owner_name' AND `vocID` = 'ID_number' AND `type` = 'type_name'; 这个查询是关于在回答一个问题后更新用户数据的,所以我需要一个快
UPDATE `weakvocab` SET `times` = times+1, `wrong` = wrong+1, `mtime` = 1284369979 WHERE `owner` = 'owner_name' AND `vocID` = 'ID_number' AND `type` = 'type_name';
这个查询是关于在回答一个问题后更新用户数据的,所以我需要一个快速查询,以便在加载下一个问题时为用户提供更好的体验
谢谢,您可以尝试在
(所有者名称、vocID、类型)
上添加索引,以便更快地找到要更新的记录。您的WHERE条件中的列是否已索引?将更新更改为SELECT以查看Mysql如何执行它:
EXPLAIN SELECT * FROM `weakvocab` WHERE `owner` = 'owner_name' AND `vocID` = 'ID_number' AND `type` = 'type_name';
并将结果粘贴到此处无需解释的选择速度约为0。2s@bn问题不在于解释的速度,而在于结果。@bn
EXPLAIN
将显示您是否需要添加任何索引,如@Mark Byers在其回答中提到的。如何在上添加索引,这会影响现有数据吗?