gpt4 book ai didi

mysql - 为什么这个带有子查询的 SQL 查询非常慢?

转载 作者:可可西里 更新时间:2023-11-01 06:56:55 25 4
gpt4 key购买 nike

我有这个问题:

select *
from transaction_batch
where id IN
(
select MAX(id) as id
from transaction_batch
where status_id IN (1,2)
group by status_id
);

内部查询运行得非常快(不到 0.1 秒)以获取两个 ID,一个用于状态 1,一个用于状态 2,然后它根据主键进行选择,以便建立索引。 explain 查询说它仅使用 where 搜索 135k 行,我终究无法弄清楚为什么这么慢。

最佳答案

内部查询会一遍又一遍地针对表格的每一行单独运行。

由于内部查询中没有对外部查询的引用,我建议您拆分这两个查询,并将内部查询的结果插入 WHERE 子句中。

关于mysql - 为什么这个带有子查询的 SQL 查询非常慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10883908/

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