Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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
Ö´Ðмƻ®
------------------


Ïà¹ØÎĵµ£º

·ÃÎÊoracleÊý¾Ý¿â

1¡£web.config ----appSettings--<add key="LimsConnection" value="data source=yzlims;user id=lims;password = lims"/>
2.  c#´úÂëÖÐ
using System.Data.OracleClient;     
public DataTable  GetLimsTimeInSpace(string S_SAMPLE_NAME, string S_SAMPLING_P_N,Date ......

OracleÁÙʱ±í

Temporary TablesÁÙʱ±í
1¼ò½é
   ORACLEÊý¾Ý¿â³ýÁË¿ÉÒÔ±£´æÓÀ¾Ã±íÍ⣬»¹¿ÉÒÔ½¨Á¢ÁÙʱ±ítemporary tables¡£ÕâЩÁÙʱ±íÓÃÀ´±£´æÒ»¸ö»á»°SESSIONµÄÊý¾Ý£¬
   »òÕß±£´æÔÚÒ»¸öÊÂÎñÖÐÐèÒªµÄÊý¾Ý¡£µ±»á»°Í˳ö»òÕßÓû§Ìá½»commitºÍ»Ø¹örollbackÊÂÎñµÄʱºò£¬ÁÙʱ±íµÄÊý¾Ý×Ô¶¯Çå¿Õ£¬
   µ«ÊÇÁÙʱ± ......

Oracle´æ´¢¹ý³ÌʵÀý

×Ô¶¨Ò庯Êý 
--×Ô¶¨Ò庯Êý
CREATE OR REPLACE FUNCTION fn_WFTemplateIDGet
(
    TemplateCategoryID NUMBER,
    OrganID NUMBER,
    TemplateMode NUMBER

RETURN NUMBER
IS
   ......

oracle²éÑ¯ÖØ¸´¼Ç¼


Ò»¡¢²éѯij¸ö×Ö¶ÎÖØ¸´
      select *
          from User u
         where u.user_name in (select u.user_name 
           &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ