Oracle 10gÖеÄSQLÓÅ»¯ÁÁµã
10GÖÐһЩSQLÓÅ»¯µÄÁÁµã
1¡¢ÓÅ»¯Æ÷ĬÈÏΪCBO,OPTIMIZER_MODEĬÈÏֵΪALL_ROWS¡£²»ÔÙʹÓùÅÀϵÄRBOģʽ,µ«RULE¡¢CHOOSE²¢Ã»Óг¹µ×Ïûʧ,ÓÐЩʱºòÈÔÈ»¿ÉÒÔ×÷ΪÎÒÃǵ÷ÊԵŤ¾ß¡£
2¡¢CPU CostingµÄ¼ÆË㷽ʽÏÖÔÚĬÈÏΪCPU+I/OÁ½ÕßÖ®ºÍ.¿Éͨ¹ýDBMS_XPLAN.DISPLAY_CURSOR¹Û²ì¸üΪÏêϸµÄÖ´Ðмƻ®¡£
3¡¢Ôö¼ÓÁ˼¸¸öÓÐÓÃSQL Hints:
INDEX_SS[[@block] tabs [inds]],INDEX_SS_ASC,INDEX_SS_DESC£»SSΪSKIP SCANµÄËõд¡£skip scanÒÔǰÌÖÂ۵ĺܶࡣ
NO_USE_N[[@block] tabs],NO_USE_HAHS,NO_USE_MERGE,NO_INDEX_FFS,NO_INDEX_SS,NO_STAR_TRANSFORMATION,NO_QUERY_TRANSFORMATION.
Õ⼸¸öHINT²»ÓýâÊÍ£¬Ò»¿´¾ÍÖªµÀÄ¿µÄÊÇʲô¡£
USE_NL_WITH_INDEX([@block] tabs [index]):Õâ¸öÌáʾºÍNested LoopsÓйأ¬Í¨¹ýÌáʾÎÒÃÇ¿ÉÒÔÖ¸¶¨Nested LoopsÑ»·ÖеÄÄÚ²¿±í,Ò²¾ÍÊÇ¿ªÊ¼Ñ»·Á¬½ÓÆäËû±íµÄ±í¡£CBOÊÇ·ñ»áÖ´ÐÐÈ¡¾öÓÚÖ¸¶¨±íÊÇ·ñÓÐË÷Òý¼ü¹ØÁª¡£
QB_NAME(@blockname) Õâ¸öÌáʾ¿ÉÒÔ¸øÄ³¸ö²éѯ¶¨ÒåÒ»¸öname£¬²¢ÇÒ¿ÉÒÔÔÚÆäËûhintsÖÐʹÓÃÕâ¸öname£¬²¢ÇÒ½«Õâ¸öhints×÷Óõ½Õâ¸öname¶ÔÓ¦µÄ²éѯÖÐ.Æäʵ´Ó10G¿ªÊ¼,Oracle¶ÔÒ»Ð©ÌØ¶¨µÄ²éѯ×Ô¶¯Ê¹ÓÃqueryblockname
4¡¢10GÖÐÖ§³ÖÔÚhintÖÐʹÓÃqueryblockname
select * from a1 where id in (select /*+ qb_name(sub1) */ id
from a1 where id in (2,10,12));
Execution Plan
----------------------------------------------------------
Plan hash value: 173249654
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | &nbs
Ïà¹ØÎĵµ£º
³£¼ûºǫ́½ø³Ì°üÀ¨:
• Êý¾Ý¿âд½ø³Ì (DBWn):½«Êý¾Ý¿â»º³åÇø¸ßËÙ»º´æÖеľ¹ýÐ޸ĵĻº³åÇø(»ÒÊý¾Ý»º ³åÇø)ÒÔÒì²½·½Ê½Ð´Èë´ÅÅÌ
• ÈÕ־д½ø³Ì (LGWR):½«ÈÕÖ¾»º³åÇøÖгÆÎªÖØ×öÐÅÏ¢µÄ»Ö¸´ÐÅϢдÈë´ÅÅÌÉϵÄÖØ×öÈÕ Ö¾Îļþ
• ¼ì²éµã½ø³Ì (CKPT):ÔÚ¿ØÖÆÎļþºÍÿ¸öÊý¾ÝÎļþÍ·ÖмǼ¼ì²éµãÐÅÏ¢
• ϵͳ¼àÊÓÆ÷½ø³ ......
•ºÎΪÉó¼Æ
Êý¾Ý¿âÉ󼯣¬¾ÍÊǶÔÊý¾Ý¿âµÄ»î¶¯×ö¸ú×ټǼ£¬Ö÷Òª°üÀ¨Êý¾Ý¿âÁ¬½Ó£¬SQLÓï¾äÖ´ÐУ¬Êý¾Ý¿â¶ÔÏó·ÃÎÊÕâЩ·½ÃæµÄ¸ú×ټǼ¡£
•ÏÖʵ×÷ÓÃ
°²È«¿ØÖÆ¡¢¸ú×ÙÊý¾Ý±ä»¯¡¢³ÌÐòBUGµ÷ÊÔ¡¢×Ô¶¨ÒåµÄÊý¾Ý»ã×Ü·ÖÎö¡¢²Ù×÷ÈÕÖ¾
•´æ´¢·½Ê½
Ò»ÖÖÊÇ´æ´¢ÔÚ²Ù×÷ϵͳÎļþÖУ¬Ò»ÖÖÊÇ´æ´¢ÔÚsystem±í¿Õ¼äÖеÄSYS.AUD$±íÖÐ
......
±¾ÎÄÀ´×Ô£ºhttp://niunan.javaeye.com/blog/264197
±È½ÏÍòÄܵķÖÒ³£º
select top ÿҳÏÔʾµÄ¼Ç¼Êý * from topic where id not in
(select top £¨µ±Ç°µÄÒ³Êý-1£©×ÿҳÏÔʾµÄ¼Ç¼Êý id from topic order by id& ......
--------------------------------------------------------------------------
-- Author : ÔÖø£º²»Ïê ¸Ä±à£ºhtl258(Tony)
-- Subject: ÍêÉÆSQLÅ©Àúת»»º¯Êý£¨ÏÔʾÖÐÎĸñʽ£¬¼ÓÈëÈóÔµÄÏÔʾ£©
-------------------------------------------------------------------------- ......
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
select * from ±íÃû
Èç¹ûÊÇÉú³Éexcel時ÓÃbcp
--µ¼³ö²éѯµÄÇé¿ö
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname from pubs..authors ORDER BY au_lname" queryout "c:\test.xls" /c -/S"·þÎ ......