你介意帮我查询哪个查询表现更好,哪个更适合在oracle数据库中使用?
第一次查询:
Select t2_c1,t1_c3,t1_c4,t3_c1
from t1,t2,t3
where t1_c1 = t2_c1 and t1_c2=t3_c2
安排:
ID PID Operation Name Rows Bytes Cost CPU Cost IO Cost Temp space IN-OUT PQ Dist PStart PStop
0 SELECT STATEMENT 22362 829K 82 82
1 0 HASH JOIN 22362 829K 82 82
2 1 TABLE ACCESS FULL CUSTOMER 87 2349 2 2
3 1 TABLE ACCESS FULL MASTER 22362 240K 79 79
第二次查询:
select (select t2_c2 from t2 where t1_c1 = t2_c1), t1_c3, t1_c4, t3_c1
from t1, t3
where t1_c2=t3_c2
安排:
ID PID Operation Name Rows Bytes Cost CPU Cost IO Cost Temp space IN-OUT PQ Dist PStart PStop
0 SELECT STATEMENT 22362 240K 79 79
1 0 TABLE ACCESS BY INDEX ROWID CUSTOMER 1 27 2 2
2 1 INDEX RANGE SCAN SYS.IDX_CUSTOMER_V_CUST 1 1 1
3 0 TABLE ACCESS FULL MASTER 22362 240K 79 79
答案 0 :(得分:1)
如果你想在桌子上返回少于4%的线路MASTER我推荐你第二个,但是如果你将返回桌子MASTER上的所有线路,那么第一个计划要好得多。
任何问题只是让我知道。
感谢。