mysql - 极慢的 UPDATE 查询

标签 mysql performance sql-update

我注意到我的一个脚本变得非常慢,然后我缩小了问题的范围:这是一个更新查询。奇怪的是 SELECT 查询非常快。该表有大约 600,000 个条目。是的,id 是唯一的主键。以下是一些示例:

SELECT * FROM `tmp_pages_data` WHERE id = 19080 LIMIT 0 , 30

Showing rows 0 - 0 (1 total, Query took 0.0004 sec)

现在是更新查询:

UPDATE tmp_pages_data SET page_status = 1 WHERE id = 19080

1 row(s) affected. ( Query took 24.5968 sec )

可以看到,select 很快,但是update 很慢。这怎么可能?

最佳答案

是的,这很奇怪。我唯一能想到的是 tmp_pages_data 表被其他事务锁定,或者 id = 19080 的行被其他事务锁定。

另一个(不太可能的事情)是你在 page_status 上有一个索引需要在 UPDATE 语句上更新,那部分要花很多时间执行。

关于mysql - 极慢的 UPDATE 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048005/

相关文章:

mysql - 如何在 Azure Web 应用安装存储中指定带点的安装路径

mysql - 如何使用mysql从这三个表中提取所需的数据?

linux - 什么会导致多线程代码的运行时间发生巨大变化

mysql - 优化每个客户从销售表中购买的精选产品详细信息

mysql - 如何在mysql中使用case语句将3列数据合并到一个中

php - MYSQL 查询无法正常工作

mysql - 限价和单价 - 分组

java - 如何调查Java Socket程序性能问题

mysql - 如果满足条件则更新表。 (将b表的值更新为a)需要对应的值

php - 使用 LIKE 子句加速 MySQL 内连接