#1使用道具 发表于 2011-7-5 23:18
求助!!!使用leftjoin 查询 速度奇慢。请大侠赐教!
这个是SQL语句。A表达改50W数据,B表2W数据,C表50W数据。 速度好慢。在服务器上大概需要3个小时。请问大家如和优化。
select /*+parallel(ac,4)*/
count(1)
from (select /*+parallel(cs,4)*/
AB,
ceil(avg(A6) * 100) / 100 Q1,
ceil(avg(A7) * 100) / 100 Q2,
ceil(avg(A8) * 100) / 100 Q3,
ceil(avg(A9) * 100) / 100 Q4,
ceil(avg(A10) * 100) / 100 Q5,
ceil(avg(A11) * 100) / 100 Q6
from (select /*+parallel(t,4) parallel(c,4) parallel(r,4)*/
r.time,
nvl(a_A1, b_A2) AB,
A6,
A7,
A8,
A9,
A10,
A11
from A t
left join B c on c.C5 =
t.A1
and c.C1 =
t.A2
and c.C2 =
t.A3
and c.C3 <=
t.A4
and c.C4 >=
t.A5
left join C r on c.C5 =
r.R1
and c.C6 =
r.R2
and r.R3 <=
c.C7
and r.R4 >=
c.C8
where ID = 1
and TIME >= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')
and TIME <= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')) cs
where G> -100.0
group by AB) ac请大侠们帮帮忙,如和能够优化这条语句!!!!让查询更速度起来!!!执行计划SELECT STATEMENT, GOAL = ALL_ROWS 耗费=12218 CPU 耗费=1630553048
SORT AGGREGATE
PX COORDINATOR
PX SEND QC (RANDOM) 对象名称=:TQ10004
SORT AGGREGATE
VIEW 耗费=12218 CPU 耗费=1630553048
HASH GROUP BY 耗费=12218 CPU 耗费=1630553048
PX RECEIVE 耗费=12218 CPU 耗费=1630553048
PX SEND HASH 对象名称=:TQ10003 耗费=12218 CPU 耗费=1630553048
HASH GROUP BY 耗费=12218 CPU 耗费=1630553048
HASH JOIN 耗费=12217 CPU 耗费=1624086615
PX RECEIVE 耗费=6981 CPU 耗费=785740881
PX SEND BROADCAST 对象名称=:TQ10002 耗费=6981 CPU 耗费=785740881
HASH JOIN BUFFERED 耗费=6981 CPU 耗费=785740881
PX RECEIVE 耗费=2123 CPU 耗费=525090333
PX SEND HASH 对象名称=:TQ10000 耗费=2123 CPU 耗费=525090333
PX BLOCK ITERATOR 耗费=2123 CPU 耗费=525090333
TABLE ACCESS FULL 对象名称=TB_SRC_MGW_TDM 耗费=2123 CPU 耗费=525090333
PX RECEIVE 耗费=1613 CPU 耗费=119752000
PX SEND HASH 对象名称=:TQ10001 耗费=1613 CPU 耗费=119752000
PX BLOCK ITERATOR 耗费=1613 CPU 耗费=119752000
TABLE ACCESS FULL 对象名称=TB_SRC_CTX 耗费=1613 CPU 耗费=119752000
PX BLOCK ITERATOR 耗费=5229 CPU 耗费=796600235
TABLE ACCESS FULL 对象名称=TB_SRC_RTT 耗费=5229 CPU 耗费=796600235
求助!!!使用leftjoin 查询 速度奇慢。请大侠赐教!
这个是SQL语句。A表达改50W数据,B表2W数据,C表50W数据。 速度好慢。在服务器上大概需要3个小时。请问大家如和优化。
select /*+parallel(ac,4)*/
count(1)
from (select /*+parallel(cs,4)*/
AB,
ceil(avg(A6) * 100) / 100 Q1,
ceil(avg(A7) * 100) / 100 Q2,
ceil(avg(A8) * 100) / 100 Q3,
ceil(avg(A9) * 100) / 100 Q4,
ceil(avg(A10) * 100) / 100 Q5,
ceil(avg(A11) * 100) / 100 Q6
from (select /*+parallel(t,4) parallel(c,4) parallel(r,4)*/
r.time,
nvl(a_A1, b_A2) AB,
A6,
A7,
A8,
A9,
A10,
A11
from A t
left join B c on c.C5 =
t.A1
and c.C1 =
t.A2
and c.C2 =
t.A3
and c.C3 <=
t.A4
and c.C4 >=
t.A5
left join C r on c.C5 =
r.R1
and c.C6 =
r.R2
and r.R3 <=
c.C7
and r.R4 >=
c.C8
where ID = 1
and TIME >= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')
and TIME <= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')) cs
where G> -100.0
group by AB) ac请大侠们帮帮忙,如和能够优化这条语句!!!!让查询更速度起来!!!执行计划SELECT STATEMENT, GOAL = ALL_ROWS 耗费=12218 CPU 耗费=1630553048
SORT AGGREGATE
PX COORDINATOR
PX SEND QC (RANDOM) 对象名称=:TQ10004
SORT AGGREGATE
VIEW 耗费=12218 CPU 耗费=1630553048
HASH GROUP BY 耗费=12218 CPU 耗费=1630553048
PX RECEIVE 耗费=12218 CPU 耗费=1630553048
PX SEND HASH 对象名称=:TQ10003 耗费=12218 CPU 耗费=1630553048
HASH GROUP BY 耗费=12218 CPU 耗费=1630553048
HASH JOIN 耗费=12217 CPU 耗费=1624086615
PX RECEIVE 耗费=6981 CPU 耗费=785740881
PX SEND BROADCAST 对象名称=:TQ10002 耗费=6981 CPU 耗费=785740881
HASH JOIN BUFFERED 耗费=6981 CPU 耗费=785740881
PX RECEIVE 耗费=2123 CPU 耗费=525090333
PX SEND HASH 对象名称=:TQ10000 耗费=2123 CPU 耗费=525090333
PX BLOCK ITERATOR 耗费=2123 CPU 耗费=525090333
TABLE ACCESS FULL 对象名称=TB_SRC_MGW_TDM 耗费=2123 CPU 耗费=525090333
PX RECEIVE 耗费=1613 CPU 耗费=119752000
PX SEND HASH 对象名称=:TQ10001 耗费=1613 CPU 耗费=119752000
PX BLOCK ITERATOR 耗费=1613 CPU 耗费=119752000
TABLE ACCESS FULL 对象名称=TB_SRC_CTX 耗费=1613 CPU 耗费=119752000
PX BLOCK ITERATOR 耗费=5229 CPU 耗费=796600235
TABLE ACCESS FULL 对象名称=TB_SRC_RTT 耗费=5229 CPU 耗费=796600235
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货