以下查询不断超时,是否有开销更少的方法来实现相同的功能?
UPDATE Invoices SET ispaid = 0
WHERE Invoice_number IN (SELECT invoice_number
FROM payment_allocation
WHERE transactionID=305)
我正在做的是从事务中取消分配发票,最多可以返回 30 多条记录,但每次我尝试运行它时都会停止数据库
USE JOIN代替subquery它将提高性能。
创建索引于发票号码如果您尚未创建,则在两个表中都有列。
尝试这个:
UPDATE Invoices i
INNER JOIN payment_allocation pa ON i.Invoice_number = pa.invoice_number
SET i.ispaid = 0
WHERE pa.transactionID = 305;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)