Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: how to control the join order?
hi,all
got it:
explain plan for
select /*+ordered use_hash(t o) no_merge(t)*/ o.subject
from
(select /*+ordered use_hash( m mad) use_hash(m al) */
al.parent_id ,0 as trust_score_but_renew,mad.im_week_active_degree,mad.new_tp_score
from member m, member_active_degree mad , area_list al ,offer o where m.city=al.id(+) and m.login_id=mad.login_id(+) ) t, offer o where m.login_id = o.member_id and o.GMT_EXPIRE>trunc(sysdate) + 1 and o.status='published' and o.gmt_modified <= sysdateand o.gmt_approved > to_date('2002-01-22', 'yyyy-mm-dd') and o.member_id not in ('buyerofnormal','buyerofbig','tfbuyer', 'wpoffer') ;
@?/rdbms/admin/utlxplp;
SQL> SQL>
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost | --------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 115K| 7873K| | 4440K| |* 1 | HASH JOIN | | 115K| 7873K| 100M| 4440K| | 2 | VIEW | | 4374K| 50M| | 4402K| | 3 | NESTED LOOPS OUTER | | 4374K| 383M| | 4402K| |* 4 | HASH JOIN OUTER | | 4374K| 367M| 367M| 27992 | |* 5 | TABLE ACCESS FULL| MEMBER | 4374K| 317M| | 22141 | |* 6 | TABLE ACCESS FULL| MEMBER_ACTIVE_DEGREE | 1 | 12 | | 2 | |* 7 | INDEX RANGE SCAN | AREA_LIST_ID_F | 1 | 4 | | 1 | |* 8 | TABLE ACCESS FULL | OFFER | 117K| 6627K| | 36324 | ---------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
1 - access("T"."LOGIN_ID"="O"."MEMBER_ID") 4 - access("M"."LOGIN_ID"="MAD"."LOGIN_ID"(+)) 5 - filter("M"."LOGIN_ID"<>'buyerofnormal' AND "M"."LOGIN_ID"<>'buyerofbig' AND
"M"."LOGIN_ID"<>'tfbuyer' AND "M"."LOGIN_ID"<>'wpoffer' AND
"M"."LOGIN_ID"<>'buyerofnormal' AND "M"."LOGIN_ID"<>'buyerofbig' AND
"M"."LOGIN_ID"<>'tfbuyer' AND "M"."LOGIN_ID"<>'wpoffer')
6 - filter("MAD"."LOGIN_ID"(+)<>'buyerofnormal' AND
"MAD"."LOGIN_ID"(+)<>'buyerofbig' AND "MAD"."LOGIN_ID"(+)<>'tfbuyer' AND
"MAD"."LOGIN_ID"(+)<>'wpoffer')
7 - access("M"."CITY"=TO_CHAR("AREA_LIST"."ID")) 8 - filter("O"."GMT_EXPIRE">TRUNC(SYSDATE@!)+1 AND "O"."STATUS"='published' AND
"O"."GMT_MODIFIED"<=SYSDATE@! AND "O"."GMT_APPROVED">TO_DATE('2002-01-22 00:00:00',
'yyyy-mm-dd hh24:mi:ss') AND "O"."MEMBER_ID"<>'buyerofnormal' AND
"O"."MEMBER_ID"<>'buyerofbig' AND "O"."MEMBER_ID"<>'tfbuyer' AND
"O"."MEMBER_ID"<>'wpoffer')
Best regards
msn: biti_rainy_at_hotmail.com
a dba from alibaba(china)
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Nov 04 2004 - 10:00:47 CST
![]() |
![]() |