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

²é¿´OracleÖ´Ðмƻ®µÄ¼¸ÖÖ·½·¨

²é¿´OracleÖ´Ðмƻ®µÄ¼¸ÖÖ·½·¨
Ò»¡¢Í¨¹ýPL/SQL Dev¹¤¾ß
    1¡¢Ö±½ÓFile->New->Explain Plan Window£¬ÔÚ´°¿ÚÖÐÖ´ÐÐsql¿ÉÒԲ鿴¼Æ»®½á¹û¡£ÆäÖУ¬Cost±íʾcpuµÄÏûºÄ£¬µ¥Î»Îªn%£¬Cardinality±íʾִÐеÄÐÐÊý£¬µÈ¼ÛRows¡£
    2¡¢ÏÈÖ´ÐÐ EXPLAIN PLAN FOR   select * from tableA where paraA=1£¬ÔÙ select * from table(DBMS_XPLAN.DISPLAY)±ã¿ÉÒÔ¿´µ½oracleµÄÖ´Ðмƻ®ÁË£¬¿´µ½µÄ½á¹ûºÍ1ÖеÄÒ»Ñù£¬ËùÒÔʹÓù¤¾ßµÄʱºòÍÆ¼öʹÓÃ1·½·¨¡£
×¢Ò⣺PL/SQL Dev¹¤¾ßµÄCommand windowÖв»Ö§³Öset autotrance onµÄÃüÁî¡£»¹ÓÐʹÓù¤¾ß·½·¨²é¿´¼Æ»®¿´µ½µÄÐÅÏ¢²»È«£¬ÓÐЩʱºòÎÒÃÇÐèÒªsqlplusµÄÖ§³Ö¡£
 
¶þ¡¢Í¨¹ýsqlplus
1£®×î¼òµ¥µÄ°ì·¨
Sql> set autotrace on
Sql> select * from dual;
¡¡¡¡Ö´ÐÐÍêÓï¾äºó£¬»áÏÔʾexplain plan Óë ͳ¼ÆÐÅÏ¢¡£
¡¡¡¡Õâ¸öÓï¾äµÄÓŵã¾ÍÊÇËüµÄȱµã£¬ÕâÑùÔÚÓø÷½·¨²é¿´Ö´ÐÐʱ¼ä½Ï³¤µÄsqlÓï¾äʱ£¬ÐèÒªµÈ´ý¸ÃÓï¾äÖ´Ðгɹ¦ºó£¬²Å·µ»ØÖ´Ðмƻ®£¬Ê¹ÓÅ»¯µÄÖÜÆÚ´ó´óÔö³¤¡£Èç¹û²»ÏëÖ´ÐÐÓï¾ä¶øÖ»ÊÇÏëµÃµ½Ö´Ðмƻ®¿ÉÒÔ²ÉÓãº
Sql> set autotrace traceonly
ÕâÑù£¬¾ÍÖ»»áÁгöÖ´Ðмƻ®£¬¶ø²»»áÕæÕýµÄÖ´ÐÐÓï¾ä£¬´ó´ó¼õÉÙÁËÓÅ»¯Ê±¼ä¡£ËäȻҲÁгöÁËͳ¼ÆÐÅÏ¢£¬µ«ÊÇÒòΪûÓÐÖ´ÐÐÓï¾ä£¬ËùÒÔ¸Ãͳ¼ÆÐÅϢûÓÐÓô¦£¬Èç¹ûÖ´ÐиÃÓï¾äʱÓöµ½´íÎ󣬽â¾ö·½·¨Îª£º
(1£©ÔÚÒª·ÖÎöµÄÓû§Ï£º
Sqlplus > @ ?
dbmsadminutlxplan.sql
(2) ÓÃsysÓû§µÇ½
Sqlplus > @ ?sqlplusadminplustrce.sql
Sqlplus > grant plustrace to user_name;
- - user_nameÊÇÉÏÃæËù˵µÄ·ÖÎöÓû§
 
¡¡2£®ÓÃexplain planÃüÁî
(1) sqlplus > explain plan for select * from testdb.myuser
(2) sqlplus > select * from table(dbms_xplan.display);
¡¡¡¡ÉÏÃæÕâ2ÖÖ·½·¨Ö»ÄÜΪÔÚ±¾»á»°ÖÐÕýÔÚÔËÐеÄÓï¾ä²úÉúÖ´Ðмƻ®£¬¼´ÎÒÃÇÐèÒªÒѾ­ÖªµÀÁËÄÄÌõÓï¾äÔËÐеÄЧÂʺܲÎÒÃÇÊÇÓÐÄ¿µÄÖ»¶ÔÕâÌõSQLÓï¾äÈ¥ÓÅ»¯¡£Æäʵ£¬ÔںܶàÇé¿öÏ£¬ÎÒÃÇÖ»»áÌýÒ»¸ö¿Í»§±§Ô¹ËµÏÖÔÚϵͳÔËÐкÜÂý£¬¶øÎÒÃDz»ÖªµÀÊÇÄĸöSQLÒýÆðµÄ¡£´ËʱÓÐÐí¶àÏֳɵÄÓï¾ä¿ÉÒÔÕÒ³öºÄ·Ñ×ÊÔ´±È½Ï¶àµÄÓï¾ä£¬È磺
SELECT ADDRESS, substr(SQL_TEXT,1,20) Text, buffer_gets, executions,
buffer_gets/executions AVG  from  v$sqlarea
WHERE executions>0 AND buffer_gets > 100000   ORDER BY 5;
ADDRESS  &n


Ïà¹ØÎĵµ£º

ORACLE ×óÓÒÁ´½Ó

Êý¾Ý±íµÄÁ¬½ÓÓÐ:
1¡¢ÄÚÁ¬½Ó(×ÔÈ»Á¬½Ó): Ö»ÓÐÁ½¸ö±íÏàÆ¥ÅäµÄÐвÅÄÜÔÚ½á¹û¼¯ÖгöÏÖ
2¡¢ÍâÁ¬½Ó: °üÀ¨
     £¨1£©×óÍâÁ¬½Ó(×ó±ßµÄ±í²»¼ÓÏÞÖÆ)
     £¨2£©ÓÒÍâÁ¬½Ó(ÓÒ±ßµÄ±í²»¼ÓÏÞÖÆ)
     £¨3£©È«ÍâÁ¬½Ó(×óÓÒÁ½±í¶¼²»¼ÓÏÞÖÆ)
3¡¢×ÔÁ¬½Ó(Á¬½Ó·¢ÉúÔÚÒ»Õ ......

Ò»¸öprogrammer¹ØÓÚOracle SQLµÄѧϰС½áÓë˼¿¼

http://www.javaeye.com/topic/366991#
×÷Ϊһ¸ö¿ª·¢ÈËÔ±£¬¿ªÊ¼ÈÏÕæÏµÍ³Ñ§Ï°
Oracle SQLÒ²Ö»ÓÐÔÂÓ֮࣬ǰµÄ
SQLÖª
ʶ½ö½öÊÇÏîÄ¿ÀïÃæÓõ½Ê²Ã´¾ÍÈ¥¿´Ê²Ã´£¬¼òµ¥Ëµ¾ÍÊÇ
Read The Fxxking Guide¡£ÔÚϵͳѧϰ
Oracle
SQL֮ǰ£¬°³µÄÏë·¨¾ÍÊÇ“°´ÕÕÐèÇóÍê³É¹¦ÄÜ£¬Ê£ÏµĽ»¸ø
DBAÀ´´¦À픡£Õâ¸öÏë·¨´ÓÕûÌåÀ´¿´ÏÔ ......

MYSQLºÍORACLEµÄһЩ²Ù×÷Çø±ð

ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1.×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ ......

OracleºÍMySQL¡¢PostgreSQLÌØÐÔ¶Ô±È

¡¡Ëæ×ÅÏÖ´úÊý¾Ý¿â¿ÉÓÃÌØÕ÷¼¯µÄѸËÙÔö¼Ó£¬ºÜÄÑÇø·ÖÊëºÃÊ뻵¡£ÀýÈçOracleÀï¾ÍÓÐÐí¶àÄã¿ÉÄÜ´ÓÀ´¶¼²»ÐèÒªµÄ¸ß¼¶Êý¾Ý²Ö¿âÌØÕ÷¡£´ËÍâÒ²¿ÉÄÜÓÐһЩÆäËü²»¿É»òȱµÄÌØÕ÷±ÈÈçACIDÊÂÎñÌØÐÔ¡£ÎÒÃÇÀ´¿´Ò»¿´Ö÷ÒªµÄÒ»Ð©ÌØÕ÷£¬±ÈÈç´æ´¢¹ý³Ì£¬ÊÓͼ£¬¿ìÕÕ£¬±íÊý¾ÝÀàÐͺÍÊÂÎñµÈµÈ¡£Í¬Ê±ÎÒÃÇ·ÖÎöÒ»ÏÂPostgresql£¬MySQLºÍOracleÕ⼸¸öÊý¾Ý¿â£¬È»º ......

Oracle wait problems and potential solutions

Wait Problem Potential Fix Sequential Read Indicates many index reads—tune the code (especially joins) Scattered Read Indicates many full table scans—tune the code; cache small tables ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ