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 ÊÇÔÚÖ´ÐеĽ׶η¢ÉúµÄ¡£
Ïà¹ØÎĵµ£º
OracleÊý¾Ý¿âÊÇÒ»ÖÖ´óÐ͹ØÏµÐ͵ÄÊý¾Ý¿â£¬ÎÒÃÇÖªµÀµ±Ê¹ÓÃÒ»¸öÊý¾Ý¿âʱ£¬½ö½öÄܹ»¿ØÖÆÄÄЩÈË¿ÉÒÔ·ÃÎÊÊý¾Ý¿â£¬ÄÄЩÈ˲»ÄÜ·ÃÎÊÊý¾Ý¿âÊÇÎÞ·¨Âú×ãÊý¾Ý¿â·ÃÎÊ¿ØÖƵġ£DBAÐèҪͨ¹ýÒ»ÖÖ»úÖÆÀ´ÏÞÖÆÓû§¿ÉÒÔ×öʲô£¬²»ÄÜ×öʲô£¬ÕâÔÚOracleÖпÉÒÔͨ¹ýΪÓû§ÉèÖÃȨÏÞÀ´ÊµÏÖ¡£È¨ÏÞ¾ÍÊÇÓû§¿ÉÒÔÖ´ÐÐijÖÖ²Ù×÷µÄȨÀû¡£¶ø½ÇÉ«ÊÇΪÁË·½±ãDBA¹Ü ......
create or replace procedure p //ÓоÍÌæ»»£¬Ã»Óоʹ´½¨
is
cursor c is
select * from emp for update;
begin
for v_emp in c loop
if (v_emp.deptno =10) then
&nb ......
When queried, virtual columns appear to be normal table columns, but
their values are derived rather than being stored on disc. The syntax
for defining a virtual column is listed below.
column_name [datatype] [GENERATED ALWAYS] AS (expression) [VIRTUAL]
If the datatype is omitted, it is determin ......
1£¬SqlServer´æ´¢¹ý³ÌµÄÊÂÎñ´¦Àí
Ò»ÖֱȽÏͨÓõijö´í´¦ÀíµÄģʽ´ó¸ÅÈçÏ£º
Create procdure prInsertProducts
(
@intProductId int,
@chvProductName varchar(30),
@intProductCount int
)
AS
Declare @intErrorCode int
Select @intErrorCode=@@Error
Begin transaction
if @intError ......
¡¾ÏÈ˼¿¼Ò»¸öÎÊÌ⣺Áû×ÓºÍϹ×ÓÔÚÒ»Æð»áÓÐʲô½á¹û£¿¡¿
×òÌìд³ÌÐò£¬ÓиöСģ¿éÊÇͨ¹ý·ÖÎöÊýÊ®ÍòÌõ¼Ç¼£¬ÓëÒì¹¹µÄÊý¾Ý±í½øÐбȶԣ¬ÕÒ³ö·ûºÏÌõ¼þµÄÐÅÏ¢¡£
ÔÚµÚÒ»Ìõ²éѯÖУ¬ÐèÒª²éѯËùÓмǼµÄÒ»¸ö×ֶΣ¬²¢ÌáÈ¡¸Ã×Ö¶ÎÖеĵÚ5ÖÁµÚ10¸ö×Ö·û´®£¬ÒªÓëÒì¹¹Êý¾Ý±í±È½ÏµÄ¾ÍÊÇÕâ¸ö×Ö´®¡£ÔÚ×î³õµÄ°æ±¾ÖУ¬¶ÔÓÚÐÔÄܲ¢Ã»ÓÐ×ö¸ü¶àµÄ¿¼Â ......