小编Irf*_*rfy的帖子

我应该先分组再加入,还是先加入再分组?

(当只涉及两个表时,oracle 的优化器对两种方法执行相同的操作,因此我的问题涉及三个表)

假设三个表t1t2t3与成对1:n由左到右的关系:

t1 (1)--(n) t2 (1)--(n) t3
Run Code Online (Sandbox Code Playgroud)

每个分区p在所有连接中使用的公共列上,每个分区都有一个主键id、外键t2.id1 -> t1.idt3.id2 -> t2.id.

实际上,n(两者)都很小。可能t2t1行大约 2t3行,从t2.

我希望像这样加入这些表:

select t1.id t1id, t2.id t2id, count(1) t3count
from t1 join t2 on (t1.p = t2.p and t1.id = t2.id1)
        join t3 on (t2.p = t3.p and t2.id = t3.id2)
group by t1.id, t2.id
Run Code Online (Sandbox Code Playgroud)

它给出t3t2行的行数并将 …

oracle oracle-11g-r2 partitioning group-by

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

group-by ×1

oracle ×1

oracle-11g-r2 ×1

partitioning ×1