gpt4 book ai didi

mysql - 使用 COUNT 时改进 MySQL 删除查询

转载 作者:行者123 更新时间:2023-12-01 00:54:07 25 4
gpt4 key购买 nike

我发现下面的查询造成了一些瓶颈(执行时间超过 40 秒!)

DELETE FROM doctors 
WHERE (SELECT COUNT(loc_id)
FROM locations
WHERE locations.loc_doctor = doctors.doc_id) = 0 AND
doctors.doc_user = $myVar

我想问题出在 (SELECT COUNT(loc_id) FROM locations WHERE locations.loc_doctor = doctors.doc_id) = 0 部分,对吗?有什么办法可以改善吗?

最佳答案

这应该会快一点:

DELETE FROM doctors WHERE doctors.doc_user = $myVar AND NOT EXISTS (SELECT 1 FROM locations WHERE locations.loc_doctor = doctors.doc_id LIMIT 1)

因为您对 0 的计数实际上是一个 NOT EXISTS 检查。您还应该考虑 locations.loc_doctor 列的索引(如果您还没有)。

关于mysql - 使用 COUNT 时改进 MySQL 删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com