我有一个 group by 查询,它只返回 1 行 4 列。当我运行这个选择查询时,它需要 1-2 分钟,因为这个查询中涉及的表非常大(其中一个表有 6000 万条记录)但是当我在插入语句中使用这个查询时,它需要大约 10 分钟或更长时间。
有人能说出背后的原因吗?我只插入一行应该需要 1 分钟的时间,但为什么需要 10 分钟?还请提供一些建议来解决此类问题,因为在搜索时我主要是在寻找更快的批量插入方法。以下是供审查的查询结构
select col1, count(loan), sum(A), sum(B)
from
(select 'dummy' as col1, X.loan, BT.A, BT.B,
row_number() over (partition by X.loan order by BT.C desc) rnum
from Big_Table BT, X
where X.loan = BT.loan
and X.date< "some date"
and X.date>"another date")
where rnum =1
and B> "some value"
group by col1
对于 Big_Table 索引位于列 loan 和 C。