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

OracleË÷Òý±Ê¼Ç

 Ò».B-TreeË÷Òý(b-tree index)
1. Ñ¡ÏîÔñË÷Òý×ֶεÄÔ­Ôò: 
ÔÚWHERE×Ó¾äÖÐ×îÆµ·±Ê¹ÓõÄ×ֶΠ
Áª½ÓÓï¾äÖеÄÁª½Ó×ֶΠ
Ñ¡Ôñ¸ßÑ¡ÔñÐÔµÄ×Ö¶Î(Èç¹ûºÜÉÙµÄ×Ö¶ÎÓµÓÐÏàֵͬ,¼´Óкܶà¶ÀÌØÖµ,ÔòÑ¡ÔñÐԺܺÃ) 
ORACLEÔÚUNIQUEºÍÖ÷¼ü×Ö¶ÎÉÏ×Ô¶¯½¨Á¢Ë÷Òý 
ÔÚÑ¡ÔñÐԺܲîµÄ×Ö¶ÎÉϽ¨Ë÷ÒýÖ»ÓÐÔÚÕâ¸ö×ֶεÄÖµ·Ö²¼·Ç³£ÇãбµÄÇé¿öÏÂϲÅÓÐÒæ(ÔÚÕâÖÖÇé¿öÏÂ,ijһ,Á½¸ö×Ö¶ÎÖµ±ÈÆäËü×ÖÖµÉÙ³öÏֺܶà) 
²»ÒªÔÚºÜÉÙ¶ÀÌØÖµµÄ×Ö¶ÎÉϽ¨B-TREEË÷Òý,ÔÚÕâÖÖÇé¿öÏÂ,Äã¿ÉÒÔ¿¼ÂÇÔÚÕâЩ×Ö¶ÎÉϽ¨Î»Í¼Ë÷Òý.ÔÚÁª»úÊÂÎñ´¦Àí»·¾³ÏÂ,ËùÓɲ¢·¢ÐԷdz£¸ß,Ë÷Òý¾­³£±»ÐÞ¸Ä,ËùÒÔ²»Ó¦¸Ã½¨Î»Í¼Ë÷Òý 
²»ÒªÔÚ¾­³£±»Ð޸ĵÄ×Ö¶ÎÉϽ¨Ë÷Òý.µ±ÓÐUPDATE,DELETE,INSETT²Ù×÷ʱ,ORACLE³ýÁËÒª¸üбíµÄÊý¾ÝÍâ,ͬʱҲҪ¸üÐÂË÷Òý,¶øÇÒ¾ÍÏó¸üÐÂÊý¾ÝÒ»Ñù,»ò²úÉú»¹Ô­ºÍÖØ×öÌõÄ¿ 
²»ÒªÔÚÓÐÓõ½º¯ÊýµÄ×Ö¶ÎÉϽ¨Ë÷Òý,ORACLEÔÚÕâÖÖÇé¿ö,ÓÅ»¯Æ÷²»»áÓõ½Ë÷Òý,³ý·ÇÄ㽨Á¢º¯ÊýË÷Òý 
¿ÉÒÔ¿¼ÂÇÔÚÍâ¼ü×Ö¶ÎÉϽ¨Ë÷Òý,ÕâЩË÷ÒýÔÊÐíµ±ÔÚÖ÷±íÉÏUPDATE,DELETE²Ù×÷ʱ,²»ÐèÒª¹²Ïí×Ó±íµÄËø,Õâ·Ç³£ÊÊÓÃÓÚÔÚ¸¸±íºÍ×Ó±íÉÏÓкܶಢ·¢µÄINSERT,UPDATEºÍDELETE²Ù×÷µÄÇé¿ö 
µ±½¨Á¢Ë÷Òýºó,Çë±È½ÏÒ»ÏÂË÷ÒýºóËù»ñµÃµÄ²éѯÐÔÄܵÄÌá¸ßºÍUPDATE,DELETE,INSERT²Ù×÷ÐÔÄÜÉϵÄËðʧ,±È½ÏµÃʧºó,ÔÙ×îºó¾ö¶¨ÊÇ·ñÐ轨Á¢Õâ¸öË÷Òý 
2. Ñ¡Ôñ½¨Á¢¸´ºÏË÷Òý(composite index) 
¸´ºÏË÷ÒýµÄÓŵã: 
¸ÄÉÆÑ¡ÔñÐÔ:¸´ºÏË÷Òý±Èµ¥¸ö×ֶεÄË÷Òý¸ü¾ßÑ¡ÔñÐÔ 
¼õÉÙI/O:Èç¹ûÒª²éѯµÄ×ֶθպÃÈ«²¿°üº¬ÔÚ¸´ºÏË÷ÒýµÄ×Ö¶ÎÀï,ÔòORACLEÖ»Ðë·ÃÎÊË÷Òý,ÎÞÐë·ÃÎʱí 
ʲôÇé¿öÏÂÓÅ»¯Æ÷»áÓõ½¸´ºÏË÷ÒýÄØ? 
(a)µ±SQLÓï¾äµÄWHERE×Ó¾äÖÐÓÐÓõ½¸´ºÏË÷ÒýµÄÁìµ¼×Ö¶Îʱ,ORACLEÓÅ»¯Æ÷»á¿¼ÂÇÓõ½¸´ºÏË÷ÒýÀ´·ÃÎÊ. 
(b)µ±Ä³¼¸¸ö×Ö¶ÎÔÚSQLÓï¾äµÄWHERE×Ó¾äÖо­³£Í¨¹ýAND²Ù×÷·ûÁªºÏÔÚһЩʹÓÃ×÷Ϊ¹ýÂËν´Ê,²¢ÇÒÕ⼸¸ö×ֶκÏÔÚÒ»ÆðʱѡÔñÐԱȸ÷×Ôµ¥¸ö×ֶεÄÑ¡ÔñÐÔÒª¸üºÃʱ,¿ÉÄÜ¿¼ÂÇÓÃÕ⼸¸ö×Ö¶ÎÀ´½¨Á¢¸´ºÏË÷Òý. 
(c)µ±Óм¸¸ö²éѯÓï¾ä¶¼ÊDzéѯͬÑùµÄ¼¸¸ö×Ö¶Îֵʱ,Ôò¿ÉÒÔ¿¼ÂÇÔÚÕ⼸¸ö×Ö¶ÎÉϽ¨Á¢¸´ºÏË÷Òý. 
¸´ºÏË÷Òý×Ö¶ÎÅÅÐòµÄÔ­Ôò: 
È·±£ÔÚWHERE×Ó¾äÖÐʹÓõ½µÄ×Ö¶ÎÊǸ´ºÏË÷ÒýµÄÁìµ¼×ֶΠ
Èç¹ûij¸ö×Ö¶ÎÔÚWHERE×Ó¾äÖÐ×îÆµ·±Ê¹ÓÃ,ÔòÔÚ½¨Á¢¸´ºÏË÷Òýʱ,¿¼ÂǰÑÕâ¸ö×Ö¶ÎÅÅÔÚµÚһλ(ÔÚCREATE INDEXÓï¾äÖÐ) 
Èç¹ûËùÓеÄ×Ö¶ÎÔÚWHERE×Ó¾äÖÐʹÓÃÆµÂÊÏàͬ,Ôò½«×î¾ßÑ¡ÔñÐÔµÄ×Ö¶ÎÅÅÔÚ×îÇ°Ãæ,½«


Ïà¹ØÎĵµ£º

OracleÈëÃÅÊé¼®ÍÆ¼ö¡¶×ª¡·

OracleÈëÃÅÊé¼®ÍÆ¼ö
Á´½Ó£ºhttp://www.eygle.com/archives/2006/08/oracle_fundbook_recommand.html
ºÜ¶àÅóÓÑÒªÎÒ°ïÃ¦ÍÆ¼öÒ»ÏÂOracleµÄÈëÃÅÊé¼®£¬Äܹ»Á˽âOracleµÄ»ù±¾¸ÅÄî¡¢»ù±¾ÖªÊ¶µÄÄÇÖÖ¡£
ÎÒ¾ÍÃâΪÆäÄÑ£¬ÍƼö¼¸±¾¡£
Ê×ÏÈÎÒÏëÇ¿µ÷µÄÒ»µãÊÇ£¬ÈκÎÒ»±¾ÏµÍ³µÄOracleÊé¼®Ö»ÒªÈÏÕæ¶ÁÏÂÀ´£¬¶¼»áÓв»´íµÄÊÕ»ñ£¬¶ÁÊé×î¼É»äµÄ ......

Oracle ´¥·¢Æ÷

 
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 ......

ORACLE PL/SQL ´æ´¢¹ý³Ì½Ì³Ì


(1)SEQNAME.NEXTVALÀïÃæµÄÖµÈçºÎ¶Á³öÀ´£¿¿ÉÒÔÖ±½ÓÔÚinsert into test values(SEQNAME.NEXTVAL) ÊÇ¿ÉÒÔÓà  ÕâÑù£º     
SELECT tmp#_seq.NEXTVAL
        INTO id_temp
        from DUAL;  È»ºó¿ÉÒ ......

Oracle ³£Óú¯Êý תÌû


nvl( ) º¯Êý
ʾÀý Çë²ÎÔÄ
´ÓÁ½¸ö±í´ïʽ·µ»ØÒ»¸ö·Ç null Öµ¡£
Óï·¨
NVL(eExpression1, eExpression2)
²ÎÊý
eExpression1, eExpression2
Èç¹û eExpression1 µÄ¼ÆËã½á¹ûΪ null Öµ£¬Ôò NVL( ) ·µ»Ø eExpression2¡£Èç¹û eExpression1 µÄ¼ÆËã½á¹û²»ÊÇ null Öµ£¬Ôò·µ»Ø eExpression1¡£eExpression1 ºÍ eExpression2 ¿ÉÒÔ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ