我对 oracle group by条款有疑问。按 CPU 密集型操作分组吗?
我们对具有 32M 行且没有索引列的表进行查询,该表在 7-8 列上分组并在 3 列上聚合并插入到另一个表中。有时我们会看到 oracle 进程使用的总 CPU 为 100%。
查询看起来像这样:
insert into temp_table select col1, col2, col3, col4, col5, col6, col7, col8,
sum(col10), sum(col11), count(*) from orig_table group by col1, col2,
col3, col4, col5, col6, col7, col8 ;
据我了解,要分组,我们必须先排序然后分组。这会导致高 CPU 利用率吗?另外,聚合怎么办?它们会导致高 CPU 吗?
提前致谢。