OracleË÷ÒýʹÓùæÔò
Ê×ÏÈ£¬ÎÒÃÇҪȷ¶¨Êý¾Ý¿âÔËÐÐÔÚºÎÖÖÓÅ»¯Ä£Ê½Ï£¬ÏàÓ¦µÄ²ÎÊýÊÇ£ºoptimizer_mode¡£¿ÉÔÚsvrmgrlÖÐÔËÐГshow parameter optimizer_mode"À´²é¿´¡£ORACLE V7ÒÔÀ´È±Ê¡µÄÉèÖÃÓ¦ÊÇ"choose"£¬¼´Èç¹û¶ÔÒÑ·ÖÎöµÄ±í²éѯµÄ»°Ñ¡ÔñCBO£¬·ñÔòÑ¡ÔñRBO¡£Èç¹û¸Ã²ÎÊýÉèΪ“rule”£¬Ôò²»ÂÛ±íÊÇ·ñ·ÖÎö¹ý£¬Ò»¸ÅÑ¡ÓÃRBO£¬³ý·ÇÔÚÓï¾äÖÐÓÃhintÇ¿ÖÆ¡£
¡¡¡¡Æä´Î£¬¼ì²é±»Ë÷ÒýµÄÁлò×éºÏË÷ÒýµÄÊ×ÁÐÊÇ·ñ³öÏÖÔÚPL/SQLÓï¾äµÄWHERE×Ó¾äÖУ¬ÕâÊǓִÐмƻ®”ÄÜÓõ½Ïà¹ØË÷ÒýµÄ±ØÒªÌõ¼þ¡£
¡¡¡¡µÚÈý£¬¿´²ÉÓÃÁËÄÄÖÖÀàÐ͵ÄÁ¬½Ó·½Ê½¡£ORACLEµÄ¹²ÓÐSort Merge Join£¨SMJ£©¡¢Hash Join£¨HJ£©ºÍNested Loop Join£¨NL£©¡£ÔÚÁ½ÕűíÁ¬½Ó£¬ÇÒÄÚ±íµÄÄ¿±êÁÐÉϽ¨ÓÐË÷Òýʱ£¬Ö»ÓÐNested Loop²ÅÄÜÓÐЧµØÀûÓõ½¸ÃË÷Òý¡£SMJ¼´Ê¹Ïà¹ØÁÐÉϽ¨ÓÐË÷Òý£¬×î¶àÖ»ÄÜÒòË÷ÒýµÄ´æÔÚ£¬±ÜÃâÊý¾ÝÅÅÐò¹ý³Ì¡£HJÓÉÓÚÐë×öHASHÔËË㣬Ë÷ÒýµÄ´æÔÚ¶ÔÊý¾Ý²éѯËٶȼ¸ºõûÓÐÓ°Ïì¡£
¡¡¡¡µÚËÄ£¬¿´Á¬½Ó˳ÐòÊÇ·ñÔÊÐíʹÓÃÏà¹ØË÷Òý¡£¼ÙÉè±íempµÄdeptnoÁÐÉÏÓÐË÷Òý£¬±ídeptµÄÁÐdeptnoÉÏÎÞË÷Òý£¬WHEREÓï¾äÓÐemp.deptno=dept.deptnoÌõ¼þ¡£ÔÚ×öNLÁ¬½Óʱ£¬emp×öΪÍâ±í£¬Ïȱ»·ÃÎÊ£¬ÓÉÓÚÁ¬½Ó»úÖÆÔÒò£¬Íâ±íµÄÊý¾Ý·ÃÎÊ·½Ê½ÊÇÈ«±íɨÃ裬emp.deptnoÉϵÄË÷ÒýÏÔÈ»ÊÇÓò»ÉÏ£¬×î¶àÔÚÆäÉÏ×öË÷ÒýȫɨÃè»òË÷Òý¿ìËÙȫɨÃè¡£
¡¡¡¡µÚÎ壬ÊÇ·ñÓõ½ÏµÍ³Êý¾Ý×Öµä±í»òÊÓͼ¡£ÓÉÓÚϵͳÊý¾Ý×Öµä±í¶¼Î´±»·ÖÎö¹ý£¬¿ÉÄܵ¼Ö¼«²îµÄ“Ö´Ðмƻ®”¡£µ«ÊDz»ÒªÉÃ×Ô¶ÔÊý¾Ý×Öµä±í×ö·ÖÎö£¬·ñÔò¿ÉÄܵ¼ÖÂËÀËø£¬»òϵͳÐÔÄÜϽµ¡£
¡¡¡¡µÚÁù£¬Ë÷ÒýÁÐÊÇ·ñº¯ÊýµÄ²ÎÊý¡£ÈçÊÇ£¬Ë÷ÒýÔÚ²éѯʱÓò»ÉÏ¡£
¡¡¡¡µÚÆß£¬ÊÇ·ñ´æÔÚDZÔÚµÄÊý¾ÝÀàÐÍת»»¡£È罫×Ö·ûÐÍÊý¾ÝÓëÊýÖµÐÍÊý¾Ý±È½Ï£¬ORACLE»á×Ô¶¯½«×Ö·ûÐÍÓÃto_number()º¯Êý½øÐÐת»»£¬´Ó¶øµ¼ÖµÚÁùÖÖÏÖÏóµÄ·¢Éú¡£
¡¡¡¡µÚ°Ë£¬ÊÇ·ñΪ±íºÍÏà¹ØµÄË÷ÒýËѼ¯×ã¹»µÄͳ¼ÆÊý¾Ý¡£¶ÔÊý¾Ý¾³£ÓÐÔö¡¢É¾¡¢¸ÄµÄ±í×îºÃ¶¨ÆÚ¶Ô±íºÍË÷Òý½øÐзÖÎö£¬¿ÉÓÃSQLÓï¾ä“analyze table xxxx compute statistics for all indexes;"¡£ORACLEÕÆÎÕÁ˳ä·Ö·´Ó³Êµ¼ÊµÄͳ¼ÆÊý¾Ý£¬²ÅÓпÉÄÜ×ö³öÕýÈ·µÄÑ¡Ôñ¡£
¡¡¡¡µÚ¾Å£¬Ë÷ÒýÁеÄÑ¡ÔñÐÔ²»¸ß¡£
¡¡¡¡ÎÒÃǼÙÉèµäÐÍÇé¿ö£¬Óбíemp£¬¹²ÓÐÒ»°ÙÍòÐÐÊý¾Ý£¬µ«ÆäÖеÄemp.deptnoÁУ¬Êý¾ÝÖ»ÓÐ4ÖÖ²»Í¬µÄÖµ£¬Èç10¡¢20¡¢30¡¢40¡£ËäÈ»empÊý¾ÝÐÐÓкܶ࣬ORACLEȱʡÈ϶¨±íÖÐÁеÄÖµÊÇÔÚËùÓÐÊý¾ÝÐоùÔÈ·Ö²¼µÄ£¬Ò²¾ÍÊÇ˵ÿÖÖdeptnoÖµ¸÷ÓÐ25ÍòÊý¾ÝÐÐÓëÖ®¶ÔÓ¦¡£¼ÙÉèSQLËÑË÷Ìõ¼þDEPTNO=10£¬ÀûÓÃdeptnoÁÐÉϵÄË÷Òý½øÐÐÊ
Ïà¹ØÎĵµ£º
Ò»¡£jobµÄÔËÐÐÆµÂÊÉèÖÃ
1.ÿÌì¹Ì¶¨Ê±¼äÔËÐУ¬±ÈÈçÔçÉÏ8:10·ÖÖÓ£ºTrunc(Sysdate+1) + (8*60+10)/24*60
2.ToadÖÐÌṩµÄ£º
ÿÌ죺trunc(sysdate+1)
ÿÖÜ£ºtrunc(sysdate+7)
ÿÔ£ºtrunc(sysdate+30)
ÿ¸öÐÇÆÚÈÕ£ºnext_day(trunc(sysdate),'SUNDAY')
ÿÌì6µã£ºtrunc(sysdate+1)+6/24
°ë¸öСʱ£ºsysdate+30/1440
3.ÿ¸ö ......
¶Ô³õѧORACLEµÄÈËһʱºÜÄÑ·ÖÇåORACLEÖйØÓÚ“¿Õ¼ä”µÄ¸ÅÄ±ÈÈç±í¿Õ¼ä ÁÙʱ±í¿Õ¼ä Óû§±í¿Õ¼äµÈ£¬¶ÔÓÚÓÉSQLתµ½ORACLEµÄ¾Í¸ü¼Ó»ìÏýÁË£¬ÈÃÈ˸оõORACLE·±Ëö£»·±ËöÔÚÄĶù£¬ÎÒÕûÀíÂÞÁÐÈçÏ£º
1.ORACLE×Ô´ø¹¤¾ß²»Ê®·ÖÒ×Óã»
2.ORACLEµÚÈý·½¹¤¾ßÒ×ÉÏÊÖ£¬µ«ÄÑÉîÈ룻
&n ......
¼Ó·¨
select sysdate,add_months(sysdate,12) from dual; --¼Ó1Äê
select sysdate,add_months(sysdate,1) from dual; --¼Ó1ÔÂ
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; ......
OracleµÄ¼àÌýÆ÷TNSListenerÓÐʱÎÞ·¨Æô¶¯£¬ÓÐʱÆô¶¯ÍêÒÔºó»á×Ô¶¯¹Ø±Õ£¬ÕâÀï¸ø³öÒ»ÖÖ¿ÉÄܵÄÔÒò¾ÍÊǼÆËã»úÃû³ÆµÄÐ޸쬽â¾öµÄ·½·¨ÊÇ´ò¿ª<ORALE_HOME>\network\admin\listener.ora£¬ÐÞ¸Ä(HOST = [compute_name])(PORT = 1521)£¬ÖØÐÂÐ޸ľͿÉÒÔÕý³£Æô¶¯¡££¨×¢ÒâOracleÆóÒµ¹ÜÀíÆ÷ÖÐĬÈϵÄÊý¾Ý¿âÁ¬½ÓÒ²ÐèÒª¸Ä±ä£¬·ñÔòÈÔÈ»»á ......