gpt4 book ai didi

Mysql 在简单的查询运行中崩溃并变慢

转载 作者:行者123 更新时间:2023-11-30 22:59:30 24 4
gpt4 key购买 nike

我在执行sql查询时遇到了一件奇怪的事情

SELECT *
FROM clients
WHERE id IN
(SELECT DISTINCT clientId
FROM quotes
WHERE storeEmail LIKE '%something@example.net%')

SELECT DISTINCT clientId FROM quotes WHERE storeEmail LIKE '%something@example.net%' 的结果现在只有很少的项目,例如 10-20,但是当我运行上面的查询时,整个 phpmyadmin 卡住并且数据库开始崩溃。怎么了?

最佳答案

尝试使用 EXISTS。根据this post , 对于非常大的子查询,它比 IN 更快

SELECT * FROM clients c
WHERE EXISTS (
SELECT * FROM quotes q
WHERE c.id = q.clientId
AND q.storeEmail = 'something@example.net'
)

您还需要在 quotes(clientId,storeEmail) 上建立复合索引

关于Mysql 在简单的查询运行中崩溃并变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24709680/

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