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

OracleµÄÓÅ»¯Æ÷ÓÐÁ½ÖÖÓÅ»¯·½Ê½(Ò»)

OracleµÄÓÅ»¯Æ÷ÓÐÁ½ÖÖÓÅ»¯·½Ê½(ÕûÀí), 2010-04-13
RBO·½Ê½£º»ùÓÚ¹æÔòµÄÓÅ»¯·½Ê½(Rule-Based Optimization£¬¼ò³ÆÎªRBO)
  ÓÅ»¯Æ÷ÔÚ·ÖÎöSQLÓï¾äʱ,Ëù×ñÑ­µÄÊÇOracleÄÚ²¿Ô¤¶¨µÄһЩ¹æÔò¡£±ÈÈçÎÒÃdz£¼ûµÄ£¬µ±Ò»¸öwhere×Ó¾äÖеÄÒ»ÁÐÓÐË÷Òýʱȥ×ßË÷Òý¡£
CBO·½Ê½£º»ùÓÚ´ú¼ÛµÄÓÅ»¯·½Ê½(Cost-Based Optimization£¬¼ò³ÆÎªCBO)
ËüÊÇ¿´Óï¾äµÄ´ú¼Û(Cost),ÕâÀïµÄ´ú¼ÛÖ÷ÒªÖ¸CpuºÍÄÚ´æ¡£ÓÅ»¯Æ÷ÔÚÅжÏÊÇ·ñÓÃÕâÖÖ·½Ê½Ê±,Ö÷Òª²ÎÕÕµÄÊÇ±í¼°Ë÷ÒýµÄͳ¼ÆÐÅÏ¢¡£Í³¼ÆÐÅÏ¢¸ø³ö±íµÄ´óС¡¢ÓÐÉÙÐС¢Ã¿Ðеij¤¶ÈµÈÐÅÏ¢¡£ÕâЩͳ¼ÆÐÅÏ¢Æð³õÔÚ¿âÄÚÊÇûÓеģ¬ÊÇ×öanalyzeºó²Å³öÏֵģ¬ºÜ¶àʱºò¹ýÆÚͳ¼ÆÐÅÏ¢»áÁîÓÅ»¯Æ÷×ö³öÒ»¸ö´íÎóµÄÖ´Ðмƻ®,Òò´ËÓ¦¼°Ê±¸üÐÂÕâЩÐÅÏ¢¡£
 
ËùÒÔhintÒ²²»ÀýÍ⣬³ýÁË/*+rule*/ÆäËûµÄ¶¼ÊÇCBOÓÅ»¯·½Ê½
ÓÅ»¯Ä£Ê½°üÀ¨Rule¡¢Choose¡¢First rows¡¢All rowsËÄÖÖ·½Ê½£º
Rule£º»ùÓÚ¹æÔòµÄ·½Ê½¡£
Choose£ºÄ¬ÈϵÄÇé¿öÏÂOracleÓõıãÊÇÕâÖÖ·½Ê½¡£Ö¸µÄÊǵ±Ò»¸ö±í»òË÷ÒýÓÐͳ¼ÆÐÅÏ¢£¬Ôò×ßCBOµÄ·½Ê½£¬Èç¹û±í»òË÷Òýûͳ¼ÆÐÅÏ¢£¬±íÓÖ²»ÊÇÌØ±ðµÄС£¬¶øÇÒÏàÓ¦µÄÁÐÓÐË÷Òýʱ£¬ÄÇô¾Í×ßË÷Òý£¬×ßRBOµÄ·½Ê½¡£
PS: ÓÅ»¯Ä£Ê½ÊÇCHOOSEµÄÇé¿öÏ£¬¿´Cost²ÎÊýÊÇ·ñÓÐÖµÀ´¾ö¶¨²ÉÓÃCBO»¹ÊÇRBO£º
SELECT STATEMENT [CHOOSE] Cost=1234 --CostÓÐÖµ£¬²ÉÓÃCBO
SELECT STATEMENT [CHOOSE] Cost=    --CostΪ¿Õ£¬²ÉÓÃRBO
PSµÄÐÅÏ¢ÊÇ´ÓÁíÍâÆªÌû×ÓÀï¿´µ½µÄ,COSTÓÐÖµÓ¦¸ÃÊÇÖ¸“ÓÐͳ¼ÆÐÅÏ¢”µÄº¬Òå,ÔÝʱÈç´ËÀí½â.
 First Rows£ºËüÓëChoose·½Ê½ÊÇÀàËÆµÄ£¬Ëù²»Í¬µÄÊǵ±Ò»¸ö±íÓÐͳ¼ÆÐÅϢʱ£¬Ëü½«ÊÇÒÔ×î¿ìµÄ·½Ê½·µ»Ø²éѯµÄ×îÏȵļ¸ÐУ¬´Ó×ÜÌåÉϼõÉÙÁËÏìӦʱ¼ä¡£
All Rows:Ò²¾ÍÊÇÎÒÃÇËù˵µÄCostµÄ·½Ê½£¬µ±Ò»¸ö±íÓÐͳ¼ÆÐÅϢʱ£¬Ëü½«ÒÔ×î¿ìµÄ·½Ê½·µ»Ø±íµÄËùÓеÄÐУ¬´Ó×ÜÌåÉÏÌá¸ß²éѯµÄÍÌÍÂÁ¿¡£Ã»ÓÐͳ¼ÆÐÅÏ¢Ôò×ßRBOµÄ·½Ê½
 
OracleÈçºÎÅäÖÃĬÈϵÄÓÅ»¯¹æÔò
A¡¢Instance¼¶±ðÎÒÃÇ¿ÉÒÔͨ¹ýÔÚinitSID.oraÎļþÖÐÉ趨OPTIMIZER_MODE=RULE/CHOOSE/FIRST_ROWS/ALL_ROWSÈç¹ûûÉ趨OPTIMIZER_MODE²ÎÊýÔòĬÈÏÓõÄÊÇChoose·½Ê½¡£
B¡¢Sessions¼¶±ðͨ¹ýALTER SESSION SET OPTIMIZER_MODE=RULE/CHOOSE/FIRST_ROWS/ALL_ROWSÀ´É趨.
C¡¢Óï¾ä¼¶±ðÓÃHint£¨/*+ ... */£©À´É趨
Ϊʲô±íµÄij¸ö×Ö¶ÎÃ÷Ã÷ÓÐË÷Òý£¬µ«Ö´Ðмƻ®È´²»×ßË÷Òý£¿
    1¡¢ÓÅ»¯Ä£Ê½ÊÇall_rowsµÄ·½Ê½
    2¡¢±í×÷¹ýanalyze£¬ÓÐͳ¼ÆÐÅÏ¢
    3


Ïà¹ØÎĵµ£º

ORACLEº¯Êý´óÈ«

¡¡ SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
        A         A      ZERO   ......

ÀûÓÃoracle¿ìÕÕdblink½â¾öÊý¾Ý¿â±íͬ²½ÎÊÌâ

±¾ÊµÀýÒÑÍêȫͨ¹ý²âÊÔ,µ¥Ïò,Ë«Ïòͬ²½¶¼¿ÉʹÓÃ.
--Ãû´Ê˵Ã÷£ºÔ´——±»Í¬²½µÄÊý¾Ý¿â
            Ä¿µÄ——Ҫͬ²½µ½µÄÊý¾Ý¿â
ǰ6²½±ØÐëÖ´ÐÐ,µÚ6ÒÔºóÊÇһЩ¸¨ÖúÐÅÏ¢.
--1¡¢ÔÚÄ¿µÄÊý¾Ý¿âÉÏ£¬´´½¨dblink
drop public database link dblink ......

ORACLEÊý¾Ý¿âɵ¹ÏÊÖ²á

Oracleɵ¹ÏÊÖ²á
¡¡¡¡
¡¡¡¡Oracle8ÒÔ8.1.5Ϊ½ç·ÖΪÆÕͨ°æ±¾ºÍinternet°æ±¾¡£ÆÕͨ°æ°æ±¾ºÅ8.0.x£¬½Ó´¥½Ï¶àµÄÊÇ8.0.5£»internet°æ°æ±¾ºÅ°üÀ¨8.1.5£¨Release 1£©£¬8.1.6£¨Release 2£©£¬8.1.7£¨Release 3£©¡£ÆÕͨ°æ¼ò³ÆOracle 8£¬internet°æ¼ò³ÆOracle 8i¡£¼ÙÈç²»×÷·Ç·²ËµÃ÷£¬ÎÄÖз²³öÏÖOracle 8i¾ùÖ¸8.1.7°æ¡£
¡¡¡¡Oracle9 ......

oracleÖ´Ðмƻ®µÄһЩ¸ÅÄî

oracleÖ´Ðмƻ®µÄһЩ¸ÅÄî(»ù´¡µÄ¼ÇÒä) 
¿ªÊ¼Ñ§Ï°ORACLEÓï¾äÓÅ»¯,´ÓÖ´Ðмƻ®¿ªÊ¼,ÏÈÊìϤÕâЩÃû´ÊÒÔ¼°»ù±¾º¬Òå,¼ÇÒäÔÚÎÒÄÔ×ÓÀï,2010-04-10
Rowid£ºÏµÍ³¸øoracleÊý¾ÝµÄÿÐи½¼ÓµÄÒ»¸öαÁУ¬°üº¬Êý¾Ý±íÃû³Æ£¬Êý¾Ý¿âid£¬´æ´¢Êý¾Ý¿âidÒÔ¼°Ò»¸öÁ÷Ë®ºÅµÈÐÅÏ¢£¬rowidÔÚÐеÄÉúÃüÖÜÆÚÄÚΨһ¡£
Recursive sql£ºÎªÁËÖ´ÐÐÓû§Óï¾ ......

OracleÊý¾Ý¿â½â³ýscottÓû§Ëø

1¡¢µÇ¼·½·¨:£ºsys or systemµÇ¼
Õ˺ţºsystem
ÃÜÂ룺system as sysdba---------¡·ÃÜÂë+as sysdba
      conn system/password as sysdba
ʹÓÃÃüÁ
sql>alter user scott account unlock;
sql> commit;
Í ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ