gpt4 book ai didi

MySql和subselect,为什么这么慢?

转载 作者:行者123 更新时间:2023-11-29 01:44:00 24 4
gpt4 key购买 nike

我在这里选择:

select parent_id from sales_flat_order_status_history where status like '%whatever%' group by parent_id having count(parent_id) > 1

这个查询只运行了几秒钟。现在我想在另一个选择中使用它,像这样:

select increment_id from sales_flat_order where entity_id in(
select parent_id from sales_flat_order_status_history where status like '%whatever%' group by parent_id having count(parent_id) > 1)

这会永远运行,所以我尝试一个一个地插入 ID:

select increment_id from sales_flat_order where entity_id in(329,523,756,761,763,984,1126,1400,1472,2593,3175,3594,3937,...)

这运行得很快,区别在哪里?我怎样才能使我的第一种方法运行得更快?

谢谢!

最佳答案

您的查询需要很长时间才能运行,因为它正在执行子查询并查找 sales_flat_order 表的每一行。

加入可能会更快:

select increment_id 
from sales_flat_order
inner join (select parent_id
from sales_flat_order_status_history
where status like '%whatever%'
group by parent_id having count(parent_id) > 1) Sub
on sales_flat_order.entity_id = Sub.parent_ID

这强制子查询只执行一次

关于MySql和subselect,为什么这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952587/

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