oracle hintÖÐordered ºÍleadingÔÀíºÜºÃµÄÌû×Ó
ÎÊÌ⣺Çë½ÌHINTд·¨
ÎÒÓÐÒ»¸öSQLÌí¼ÓÈçÏÂhint,Ä¿µÄÊÇÖ¸¶¨hash_join·½Ê½¡£
select /*+ordered use_hash(a,b,c,d) */ *
from a,b,c,d
Where ...
ÆäÖÐ,
aÖ»ÓëbÓйØÁª¹Øϵ£¬bÖ»ÓëcÓйØÁª¹Øϵ£¬bÖ»ÓëcÓйØÁª¹Øϵ,cÖ»ÓëdÓйØÁª¹Øϵ£¬
ÊýÁ¿¼¶£ºa:1000Ìõ, b:100 ÍòÌõ£¬ c:800ÍòÌõ £¬ d£º100ÍòÌõ
Ö´Ðмƻ®Îª£º
Hash Join
---Hash Join
----- Hash Join
------ a
----- b
----- c
---d
¿¼Âǵ½d±í±È½ÏС£¬ÎÒÄܲ»ÄÜ×öµ½½«d±í×÷ΪÇý¶¯±í¡¢¶øa,b,c¹ØÁªÖ®ºóµÄ½á¹û×÷ΪprobÍâ±íÄØ£¬
ͨ¹ýOrderedºÃÏñÊÇûÓа취¿ØÖÆÕâÑù£¬¼ÓÁ˾ÍÖ»ÄÜÊÇa×÷ΪÇý¶¯±í×°ÔØÄڴ棬b×÷Ϊprob±íÓëÖ®¹ØÁª£¬
Ö®ºóµÄ½á¹ûÔÙ×÷ΪÇý¶¯±í£¬ÒÔ´ËÀàÍÆ¡£
ÓÃLeading¿ÉÒÔÂð£¿Çë¸ø³öÓï·¨£¬Ð»Ð»¡£
½â´ð£º
oracle 10gÖÐ
hash_join¿ÉÒÔͨ¹ýno_swap_join_inputs/swap_join_inputsÀ´Ç¿ÖÆ¿ØÖÆbuild±í£¬ÅäºÏleading»òÕßordered¿ÉÒÔ¿ØÖƶà±í֮ǰµÄÁ¬½Ó˳Ðò¡£
±ÈÈçt1,t2,t3,t4¹²4Õűí×öhash_join
¿ÉÒÔͨ¹ýordered+no_swap_join_inputs/swap_join_inputsÀ´ÊµÏÖ¡£
±ÈÈç
Èç¹ûÏëʵÏÖ
( T3 hash-join (T1 hash-join T2)) hash-join T4
t1×÷Ϊbuild±íºÍT2×öhash_join£¬È»ºót3×÷Ϊbuild±íºÍt1,t2µÄ½á¹û¼¯×÷hash_join,ÔÚ°Ñt3,t1,t2µÄ½á¹û¼¯×÷build±íºÍt4×öhash_join
ͨ¹ýsql¿ÉÒÔдΪ
MYDB@MYDB10G >select
2 /*+
3 ordered
4 use_hash(t2)
5 use_hash(t3)
6 swap_join_inputs(t3)
7 use_hash(t4)
8 no_swap_join_inputs(t4)
9 */
10 * from t1,t2,t3,t4
11 where t1.object_id=t2.object_id
12 and t2.object_name=t3.object_name
13 and t3.owner=t4.owner
14 and t4.owner='MYDB'
15 /
ÒÑÓÃʱ¼ä: 00: 00: 00.07
Ö´Ðмƻ®
------------------
Ïà¹ØÎĵµ£º
author:skatetime:2010-05-04
ÔÚÎÒÃǵÄϵͳÀ´ó¼ÒÔÚдpl/sqlʱ£¬´¦Àí¶àÌõ¼Ç¼ʱ£¬¼¸ºõ¶¼ÊÇͨ¹ýÓαêÀ´Íê³ÉµÄ£¬ÕâÑùÊǷdz£Ó°ÏìÐÔÄܵġ£ÎÒÃÇ¿ÉÒÔÓÃÅúÁ¿°ó¶¨¿ÉÒÔ´ó´óµÄ¸ÄÉÆ¡£
ÅúÁ¿°ó¶¨ÊÇoracle9iÔö¼ÓµÄÌØÐÔ£¬ÊÇÖ¸Ö´Ðе¥´Îsql²Ù×÷ÄÜ´«µÝËùÓм¯ºÏÔªËصÄÊý¾Ý¡£Í¨¹ý°ó¶¨°ó¶¨±äÁ¿¿ÉÒÔ¼«´óµÄÌá¸ßÊý¾Ý´¦ÀíËٶȣ¬Ìá¸ßÓ¦ÓÃ³Ì ......
oracle ÔõôÀ´±éÀúÒ»¸öÊ÷£¬Ïà±È½ÏÆäËû·½·¨£¬oracleµÄconnectÓï·¨¸üÄܱܺãÀûµÄ½â¾öÎÊÌâ¡£
Óï·¨¸ñʽ£º
select ...
from ...
start with...
connect by prior expr=expr
order siblings by ..
start with µÄ¹¦ÄÜÀàËÆÓÚwhere£¬Ö¸Ã÷´ÓÄĸö·ÖÖ§¿ªÊ¼±ãÀû£»
connect by Ö¸Ã÷¸¸½ÚµãºÍ×Ó½ÚµãµØÁ¬½Ó·½Ê½£¬¹Ø¼ü×Öprior·ÅÔÚ¸¸½Ú ......
Temporary TablesÁÙʱ±í
1¼ò½é
ORACLEÊý¾Ý¿â³ýÁË¿ÉÒÔ±£´æÓÀ¾Ã±íÍ⣬»¹¿ÉÒÔ½¨Á¢ÁÙʱ±ítemporary tables¡£ÕâЩÁÙʱ±íÓÃÀ´±£´æÒ»¸ö»á»°SESSIONµÄÊý¾Ý£¬
»òÕß±£´æÔÚÒ»¸öÊÂÎñÖÐÐèÒªµÄÊý¾Ý¡£µ±»á»°Í˳ö»òÕßÓû§Ìá½»commitºÍ»Ø¹örollbackÊÂÎñµÄʱºò£¬ÁÙʱ±íµÄÊý¾Ý×Ô¶¯Çå¿Õ£¬
µ«ÊÇÁÙʱ± ......
×Ô¶¨Ò庯Êý
--×Ô¶¨Ò庯Êý
CREATE OR REPLACE FUNCTION fn_WFTemplateIDGet
(
TemplateCategoryID NUMBER,
OrganID NUMBER,
TemplateMode NUMBER
)
RETURN NUMBER
IS
......
Ò»¡¢²éѯij¸ö×Ö¶ÎÖظ´
select *
from User u
where u.user_name in (select u.user_name
&nbs ......