DELETE FROM item_measurement
WHERE measurement_id IN (
SELECT (-id) AS measurement_id
FROM invoice_item
WHERE invoice_id = 'A3722'
)
我真的很努力地找出代码有什么问题。我试图在一个没有响应的 php 页面中运行它。我还在 phpmyadmin 中尝试了同一行,无限旋转,我不得不重新启动服务器(Mac 10.9 上的 MAMP)。浏览器中没有错误/
如果我分别运行删除和选择,它们都会很快完成。我认为这不是性能问题,因为单独运行每次花费 < 0.1 秒。
感谢您提前提供任何帮助。
编辑:
我还发现一个简单的select语句也会暂停mysql:
select *
from item_measurement
where measurement_id in
(select -id from invoice_item where invoice_id='A3722')
跟进:
查询将成功运行,只是运行时间出乎意料的长。结果如下:
item_measurement 表中约 200k 行