任何人都可以给我一个关于如何优化此更新的提示MySQL查询需要大约一分钟的时间来处理?优化包含EXISTS的MySQL UPDATE查询的性能
UPDATE store s
SET reservation=1
WHERE EXISTS (
SELECT 1
FROM item i
WHERE s.reservation=0
AND s.status!=9
AND s.id=i.store_id
AND i.store_id!=0
)
我需要更新(设置预约= 1),在“商店”表中的所有行(这是非常大),那里是目前预订= 0,但它在另一个表“项目”存在的ID。表“项目”也很大,但不如“存储”。
我不是创建高效查询的专家,所以请原谅我,如果这只是一种完全错误的态度,整个事情都有一个简单的解决方案。
感谢您的任何想法。
感谢您的全面解答 - 将子查询重写为JOIN实际执行速度要快得多 - 而不是几分钟就花了几秒钟!添加索引对于未来的操作将更加有效。 – Johnny