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

oracleË÷ÒýµÄÈÏʶ

 
 
   
 
       Ë÷Òý( Index )Êdz£¼ûµÄÊý¾Ý¿â¶ÔÏó£¬ËüµÄÉèÖúûµ¡¢Ê¹ÓÃÊÇ·ñµÃµ±£¬¼«´óµØÓ°ÏìÊý¾Ý¿âÓ¦ÓóÌÐòºÍDatabase µÄÐÔÄÜ¡£ËäÈ»ÓÐÐí¶à×ÊÁϽ²Ë÷ÒýµÄÓ÷¨£¬ DBA ºÍ Developer ÃÇÒ²¾­³£ÓëËü´ò½»µÀ£¬µ«±ÊÕß·¢ÏÖ£¬»¹ÊÇÓв»ÉÙµÄÈ˶ÔËü´æÔÚÎó½â£¬Òò´ËÕë¶ÔʹÓÃÖеij£¼ûÎÊÌ⣬½²Èý¸öÎÊÌâ¡£´ËÎÄËùÓÐʾÀýËùÓõÄÊý¾Ý¿âÊÇ Oracle 8.1.7 OPS on HP N series ,ʾÀýÈ«²¿ÊÇÕæÊµÊý¾Ý£¬¶ÁÕß²»ÐèҪעÒâ¾ßÌåµÄÊý¾Ý´óС£¬¶øÓ¦×¢ÒâÔÚʹÓò»Í¬µÄ·½·¨ºó£¬Êý¾ÝµÄ±È½Ï¡£±¾ÎÄËù½²»ù±¾¶¼Êdz´ÊÀĵ÷£¬µ«ÊDZÊÕßÊÔͼͨ¹ýʵ¼ÊµÄÀý×Ó£¬À´ÕæÕýÈÃÄúÃ÷°×ÊÂÇéµÄ¹Ø¼ü¡£ 
µÚÒ»½²¡¢Ë÷Òý²¢·Ç×ÜÊÇ×î¼ÑÑ¡Ôñ
Èç¹û·¢ÏÖOracle ÔÚÓÐË÷ÒýµÄÇé¿öÏ£¬Ã»ÓÐʹÓÃË÷Òý£¬Õâ²¢²»ÊÇOracle µÄÓÅ»¯Æ÷³ö´í¡£ÔÚÓÐЩÇé¿öÏ£¬Oracle È·Êµ»áÑ¡ÔñÈ«±íɨÃ裨Full Table Scan£©,¶ø·ÇË÷ÒýɨÃ裨Index Scan£©¡£ÕâЩÇé¿öͨ³£ÓУº
1. ±íδ×östatistics, »òÕß statistics ³Â¾É£¬µ¼Ö Oracle ÅжÏʧÎó¡£
2. ¸ù¾Ý¸Ã±íÓµÓеļǼÊýºÍÊý¾Ý¿éÊý£¬Êµ¼ÊÉÏÈ«±íɨÃèÒª±ÈË÷ÒýɨÃè¸ü¿ì¡£
¶ÔµÚ1ÖÖÇé¿ö£¬×î³£¼ûµÄÀý×Ó£¬ÊÇÒÔÏÂÕâ¾äsql Óï¾ä£º
select count(*) from mytable;
ÔÚδ×÷statistics Ö®Ç°£¬ËüʹÓÃÈ«±íɨÃ裬ÐèÒª¶ÁÈ¡6000¶à¸öÊý¾Ý¿é£¨Ò»¸öÊý¾Ý¿éÊÇ8k£©, ×öÁËstatistics Ö®ºó£¬Ê¹ÓõÄÊÇ INDEX (FAST FULL SCAN) £¬Ö»ÐèÒª¶ÁÈ¡450¸öÊý¾Ý¿é¡£µ«ÊÇ£¬statistics ×öµÃ²»ºÃ£¬Ò²»áµ¼ÖÂOracle ²»Ê¹ÓÃË÷Òý¡£
µÚ2ÖÖÇé¿ö¾ÍÒª¸´Ôӵöࡣһ°ã¸ÅÄîÉ϶¼ÈÏΪË÷Òý±È±í¿ì£¬±È½ÏÄÑÒÔÀí½âʲôÇé¿öÏÂÈ«±íɨÃèÒª±ÈË÷ÒýɨÃè¿ì¡£ÎªÁ˽²Çå³þÕâ¸öÎÊÌ⣬ÕâÀïÏȽéÉÜÒ»ÏÂOracle ÔÚÆÀ¹ÀʹÓÃË÷ÒýµÄ´ú¼Û£¨cost£©Ê±Á½¸öÖØÒªµÄÊý¾Ý£ºCF(Clustering factor) ºÍ FF(Filtering factor). 
CF: Ëùν CF, Í¨Ë׵ؽ²£¬¾ÍÊÇÿ¶ÁÈëÒ»¸öË÷Òý¿é£¬Òª¶ÔÓ¦¶ÁÈë¶àÉÙ¸öÊý¾Ý¿é¡£
FF: Ëùν FF, ¾ÍÊǸÃsql Óï¾äËùÑ¡ÔñµÄ½á¹û¼¯£¬Õ¼×ܵÄÊý¾ÝÁ¿µÄ°Ù·Ö±È¡£
´óÔ¼µÄ¼ÆË㹫ʽÊÇ£ºFF * (CF + Ë÷Òý¿é¸öÊý) £¬Óɴ˹À¼Æ³ö£¬Ò»¸ö²éѯ£¬ Èç¹ûʹÓÃij¸öË÷Òý£¬»áÐèÒª¶ÁÈëµÄÊý¾Ý¿é


Ïà¹ØÎĵµ£º

oracle ±í¿Õ¼ä²Ù×÷

oracle±í¿Õ¼ä²Ù×÷Ïê½â
  1
  2
  3×÷Õߣº   À´Ô´£º    ¸üÐÂÈÕÆÚ£º2006-01-04 
  5
  6 
  7½¨Á¢±í¿Õ¼ä
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle Óï¾äÓÅ»¯30¸ö¹æÔò(ÉÏ)

1. Ñ¡ÓÃÊʺϵÄOracleÓÅ»¯Æ÷
¡¡¡¡OracleµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ£º
¡¡¡¡a. RULE (»ùÓÚ¹æÔò)
¡¡¡¡b. COST (»ùÓڳɱ¾)
¡¡¡¡c. CHOOSE (Ñ¡ÔñÐÔ)
¡¡¡¡ÉèÖÃȱʡµÄÓÅ»¯Æ÷£¬¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊýµÄ¸÷ÖÖÉùÃ÷£¬ÈçRULE£¬COST£¬CHOOSE£¬ALL_ROWS£¬FIRST_ROWS . Ä㵱ȻҲÔÚSQL¾ä¼¶»òÊǻỰ(session)¼¶¶ÔÆä½øÐи²¸Ç¡£ ......

ORACLE ROLLUPºÍCUBEµÄʹÓÃ

ROLLUP£¬ÊÇGROUP BY×Ó¾äµÄÒ»ÖÖÀ©Õ¹£¬¿ÉÒÔΪÿ¸ö·Ö×é·µ»ØÐ¡¼Æ¼Ç¼ÒÔ¼°ÎªËùÓзÖ×é·µ»Ø×ܼƼǼ¡£
CUBE£¬Ò²ÊÇGROUP BY×Ó¾äµÄÒ»ÖÖÀ©Õ¹£¬¿ÉÒÔ·µ»ØÃ¿Ò»¸öÁÐ×éºÏµÄС¼Æ¼Ç¼£¬Í¬Ê±ÔÚĩβ¼ÓÉÏ×ܼƼǼ¡£
ÔÚÎÄÕµÄ×îºó¸½ÉÏÁËÏà¹Ø±íºÍ¼Ç¼´´½¨µÄ½Å±¾¡£
1¡¢ÏòROLLUP´«µÝÒ»ÁÐ
SQL> select division_id,sum(salary)
  2  ......

Oracle SQLÓï¾ä²Ù×÷Êý×Ö£ºÈ¡Õû¡¢ËÄÉáÎåÈë¼°¸ñʽ»¯

 http://cheneyph.javaeye.com/blog/453492
ÓÃoracle sql¶ÔÊý×Ö½øÐвÙ×÷: È¡ÉÏÈ¡Õû¡¢ÏòÏÂÈ¡Õû¡¢±£ÁôNλСÊý¡¢ËÄÉáÎåÈë¡¢Êý×Ö¸ñʽ»¯
È¡Õû£¨ÏòÏÂÈ¡Õû£©£º 
select floor(5.534) from dual;
select trunc(5.534) from dual;
ÉÏÃæÁ½ÖÖÓ÷¨¶¼¿ÉÒÔ¶ÔÊý×Ö5.534ÏòÏÂÈ¡Õû£¬½á¹ûΪ5.
Èç¹ûÒªÏòÉÏÈ¡Õû £¬µÃµ½½á¹ûÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ