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 Free Buffer Increase the DB_CACHE_SIZE; shorten the checkpoint; tune
the code Buffer Busy Segment header—add freelists or freelist groups Buffer Busy Data block—separate ¡°hot¡± data; use reverse key indexes; use
smaller blocks; increase initrans (debatable); reduce block
popularity; make I/O faster Buffer Busy Undo header—add rollback segments or areas Buffer Busy Undo block—commit more; larger rollback segments or areas Latch Free Investigate the detail (a listing later in this chapter includes fixes) Enqueue – ST Use LMTs or preallocate large extents Enqueue – HW Preallocate extents above the high water mark Enqueue – TX4 Increase initrans or use a smaller block size on the table or index Enqueue – TX6 Fix the code that is making the block unsharable (use v$lock to find) Enqueue – TM Index foreign keys; check application locking of tables Log Buffer Space Increase the log buffer; use faster disks for the redo logs Log File Switch Archive destination slow or full; add more or larger redo logs Log file sync Commit more records at a time; use faster redo log disks; use
raw devices Write complete waits Add database writers; checkpoint more often; buffer cache too small
Ïà¹ØÎĵµ£º
²Ù×÷²½ÖèÈçÏ£¬¹©²Î¿¼¡£
Êý¾Ý¿âתÐ͹¤×÷Éæ¼°µÄ¹¤×÷ÊÂÏî·ÖÎö£º±í£¬±íÊý¾Ý£¬Ë÷Òý£¬Íâ¼üÔ¼Êø£¬×Ö¶ÎĬÈÏÖµ¡£
´æ´¢¹ý³Ì¡¢º¯Êý¡¢´¥·¢Æ÷¡¢ÊÓͼµÈÓÉÓÚÓï·¨´æÔÚ²îÒ죬ֻÄÜ×ÔÐиÄд´¦Àí¡£
(Ò»)ÔÚMS SQL SERVER·þÎñÆ÷¶ËµÄ×¼±¸¹¤×÷¡£
1).´´½¨¹ØÓÚ±í¡¢ÊÓͼ¡¢Ö÷¼ü¡¢Ë÷Òý¡¢×Ö¶Î×ֵ䡢ĬÈÏÖµÔ¼ÊøµÄ¶ÔÏóÊÓͼ¡£ÒÔ·½±ãÏÂÒ»²½ ......
15. /*+USE_CONCAT*/
¶Ô²éѯÖеÄWHEREºóÃæµÄORÌõ¼þ½øÐÐת»»ÎªUNION ALLµÄ×éºÏ²éѯ. (ã¶®°¡,ÏÈ´æ×Å)
ÀýÈç:
select /*+use_concat */ * from emp where deptno=10 OR empno=7788;
Execution Plan
----------------------------------------------------------
0 S ......
Êý¾Ý±íµÄÁ¬½ÓÓÐ:
1¡¢ÄÚÁ¬½Ó(×ÔÈ»Á¬½Ó): Ö»ÓÐÁ½¸ö±íÏàÆ¥ÅäµÄÐвÅÄÜÔÚ½á¹û¼¯ÖгöÏÖ
2¡¢ÍâÁ¬½Ó: °üÀ¨
£¨1£©×óÍâÁ¬½Ó(×ó±ßµÄ±í²»¼ÓÏÞÖÆ)
£¨2£©ÓÒÍâÁ¬½Ó(ÓÒ±ßµÄ±í²»¼ÓÏÞÖÆ)
£¨3£©È«ÍâÁ¬½Ó(×óÓÒÁ½±í¶¼²»¼ÓÏÞÖÆ)
3¡¢×ÔÁ¬½Ó(Á¬½Ó·¢ÉúÔÚÒ»Õ ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1.×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ ......
¡¡Ëæ×ÅÏÖ´úÊý¾Ý¿â¿ÉÓÃÌØÕ÷¼¯µÄѸËÙÔö¼Ó£¬ºÜÄÑÇø·ÖÊëºÃÊ뻵¡£ÀýÈçOracleÀï¾ÍÓÐÐí¶àÄã¿ÉÄÜ´ÓÀ´¶¼²»ÐèÒªµÄ¸ß¼¶Êý¾Ý²Ö¿âÌØÕ÷¡£´ËÍâÒ²¿ÉÄÜÓÐһЩÆäËü²»¿É»òȱµÄÌØÕ÷±ÈÈçACIDÊÂÎñÌØÐÔ¡£ÎÒÃÇÀ´¿´Ò»¿´Ö÷ÒªµÄÒ»Ð©ÌØÕ÷£¬±ÈÈç´æ´¢¹ý³Ì£¬ÊÓͼ£¬¿ìÕÕ£¬±íÊý¾ÝÀàÐͺÍÊÂÎñµÈµÈ¡£Í¬Ê±ÎÒÃÇ·ÖÎöÒ»ÏÂPostgresql£¬MySQLºÍOracleÕ⼸¸öÊý¾Ý¿â£¬È»º ......