ORACLE SQLÖ´Ðв½Öè
ORACLE sql µÄ´¦Àí¹ý³Ì´óÖÂÈçÏ£º
1.ÔËÓÃHASHËã·¨£¬µÃµ½Ò»¸öHASHÖµ£¬Õâ¸öÖµ¿ÉÒÔͨ¹ýV$SQLAREA.HASH_VALUE ²é¿´
2.µ½shared pool ÖÐµÄ library cache ÖвéÕÒÊÇ·ñÓÐÏàͬµÄHASHÖµ£¬Èç¹û´æÔÚ£¬ÔòÎÞÐèÓ²½âÎö£¬½øÐÐÈí½âÎö
3.Èç¹ûshared pool²»´æÔÚ´ËHASHÖµ£¬Ôò½øÐÐÓï·¨¼ì²é£¬²é¿´ÊÇ·ñÓÐÓï·¨´íÎó
4.Èç¹ûûÓÐÓï·¨´íÎ󣬾ͽøÐÐÓïÒå¼ì²é£¬¼ì²é¸ÃSQLÒýÓõĶÔÏóÊÇ·ñ´æÔÚ£¬¸ÃÓû§ÊÇ·ñ¾ßÓзÃÎʸöÔÏóµÄȨÏÞ
5.Èç¹ûûÓÐÓïÒå´íÎ󣬶ԸÃSQL½øÐнâÎö£¬Éú³É½âÎöÊ÷£¬Ö´Ðмƻ®
6.Éú³ÉORACLEÄÜÔËÐеĶþ½øÖÆ´úÂ룬ÔËÐиôúÂë²¢ÇÒ·µ»Ø½á¹û¸øÓû§
Ó²½âÎöºÍÈí½âÎö¶¼ÔÚµÚ5²½½øÐÐ
Ó²½âÎöͨ³£Êǰº¹óµÄ²Ù×÷£¬´óÔ¼Õ¼Õû¸öSQLÖ´ÐеÄ70%×óÓÒµÄʱ¼ä£¬Ó²½âÎö»áÉú³ÉÖ´ÐÐÊ÷£¬Ö´Ðмƻ®£¬µÈµÈ¡£
µ±ÔÙ´ÎÖ´ÐÐͬһÌõSQLÓï¾äµÄʱºò£¬ÓÉÓÚ·¢ÏÖlibrary cacheÖÐÓÐÏàͬµÄHASHÖµ£¬Õâ¸öʱºò²»»áÓ²½âÎö£¬¶ø»áÈí½âÎö£¬
ÄÇôÈí½âÎö¾¿¾¹ÊǸÉÁËÊ²Ã´ÄØ?ÆäʵÈí½âÎö¾ÍÊÇÌø¹ýÁËÉú³É½âÎöÊ÷£¬Éú³ÉÖ´Ðмƻ®Õâ¸öºÄʱÓÖºÄCPUµÄ²Ù×÷£¬Ö±½ÓÀûÓÃÉú³ÉµÄÖ´Ðмƻ®ÔËÐÐ
¸ÃSQLÓï¾ä¡£
ÏÂÃæÕª³eygleÉîÈë½âÎöORACLE ÖйØÓÚSQLÖ´Ðйý³ÌµÄÃèÊö
1.Ê×ÏÈ»ñµÃlibrary cache latch,¸ù¾ÝSQLµÄHASH_VALUEÔÚlibrary cacheÖвéÕÒÊÇ·ñ´æÔÚ´ËHASH_VALUE£¬Èç¹ûÕÒµ½Õâ¸öHASH_VALUE£¬³ÆÖ®ÎªÈí½âÎö£¬Server»ñµÃ¸ÄSQLÖ´Ðмƻ®×ªÏòµÚ4²½£¬Èç¹ûÕÒ²»µ½¹²Ïí´úÂë¾Í½øÐÐÓ²½âÎö¡£
2.ÊÍ·Ålibrary pool cache,»ñµÃshared pool latch,²éÕÒ²¢Ëø¶¨×ÔÓɿռä(ÔÚbucket ÖвéÕÒchunk)¡£Èç¹ûÕÒ²»µ½£¬±¨ORA-04031´íÎó
3.ÊÍ·Åshared pool latch,ÖØÐ»ñµÃlibrary cache latch,½«SQLÖ´Ðмƻ®·ÅÈëlibrary cacheÖС£
4.ÊÍ·Ålibrary cache latch,±£³ÖnullģʽµÄlibrary cache pin/lock.
5.¿ªÊ¼Ö´ÐС£
Library cache latch¿ÉÒÔÀí½âΪӲ/Èí½âÎöµÄʱºò·¢ÉúµÄ£¬ÒòΪ½âÎöµÄʱºò»áËÑË÷library cache£¬ËùÒÔ»á²úÉúlibrary cache latch
Library cache pin ÊÇÔÚÖ´ÐеĽ׶η¢ÉúµÄ¡£
Ïà¹ØÎĵµ£º
ʹÓÃexp¹¤¾ß£¬ÒÔtablesµÄÀàÐ͵¼³öij¸öÓû§ÏÂËùÓеıíºÍÊý¾Ý£¬·¢ÏÖÆäÖÐsequenceûÓб»µ¼³ö¡£ÍøÉÏËÑË÷Ö®£¬·¢ÏÖtoadÃ²ËÆÓд˹¦ÄÜ£¬ÓÚÊǰ²×°ÁË9.6.1.1°æ±¾£¬½á¹û¾ÓȻû·¢Ïִ˹¦ÄÜ¡££¨¿ÉÄÜÊÇÎÒûÕÒµ½£¬ÖÁÉÙºÍÄÇλÀÏ´óµÄ½ØÍ¼²»Í¬£©£¬×îºóÕÒµ½ÈçϽű¾£¬¿ÉÒÔ½«Ä³¸öÓû§µÄÈ«²¿sequence²éѯ³öÀ´£¬²¢Æ´³É´´½¨Óï¾ä¡£
´úÂëÈçÏ£ ......
create table emp2_log(
uname varchar2(20),
action varchar(10),
atime date
);
create or replace trigger trig
after insert or delete or update on emp2 for each row //°óÔÚÒ»ÕűíÉÏ,before after ¶¼¿É
ÒÔ,beforeÊÇ ²åÊý¾Ý֮ǰ£¬afterÊÇÖ®ºó
begin
&nb ......
1. ˵Ã÷£º¸´ÖƱí(Ö»¸´Öƽṹ£¬Ô´±íÃû£ºa£¬Ð±íÃû£ºb)
SQL: select * into b from a where 1<>1;
2. ˵Ã÷£º¿½±´±í(¿½±´Êý¾Ý£¬Ô´±íÃû£ºa£¬Ä¿±ê±íÃû£ºb)
SQL: insert into b(a, b, c) select d, e, f from b;
3. ˵Ã÷£º ......
¡¾ÏÈ˼¿¼Ò»¸öÎÊÌ⣺Áû×ÓºÍϹ×ÓÔÚÒ»Æð»áÓÐʲô½á¹û£¿¡¿
×òÌìд³ÌÐò£¬ÓиöСģ¿éÊÇͨ¹ý·ÖÎöÊýÊ®ÍòÌõ¼Ç¼£¬ÓëÒì¹¹µÄÊý¾Ý±í½øÐбȶԣ¬ÕÒ³ö·ûºÏÌõ¼þµÄÐÅÏ¢¡£
ÔÚµÚÒ»Ìõ²éѯÖУ¬ÐèÒª²éѯËùÓмǼµÄÒ»¸ö×ֶΣ¬²¢ÌáÈ¡¸Ã×Ö¶ÎÖеĵÚ5ÖÁµÚ10¸ö×Ö·û´®£¬ÒªÓëÒì¹¹Êý¾Ý±í±È½ÏµÄ¾ÍÊÇÕâ¸ö×Ö´®¡£ÔÚ×î³õµÄ°æ±¾ÖУ¬¶ÔÓÚÐÔÄܲ¢Ã»ÓÐ×ö¸ü¶àµÄ¿¼Â ......
========µÚһƪ=========
ÔÚÒ»ÕűíÖÐij¸ö×Ö¶ÎÏÂÃæÓÐÖØ¸´¼Ç¼£¬Óкܶ෽·¨£¬µ«ÊÇÓÐÒ»¸ö·½·¨£¬ÊDZȽϸßЧµÄ£¬ÈçÏÂÓï¾ä£º
select data_guid from adam_entity_datas a where a.rowid > (select min(b.rowid) from adam_entity_datas b where b.data_guid = a.data_guid)
Èç¹û±íÖÐÓдóÁ¿Êý¾Ý£¬µ«ÊÇÖØ¸´Êý¾Ý±È½ÏÉÙ£¬ÄÇô ......