³£¼ûOracle HINTµÄÓ÷¨
[×ÊÁÏÀ´×ÔÓÚORACLEƵµÀ http://oracle.chinaitlab.com/induction/398193.html]
¡¡1. /*+ALL_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+ALL_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
¡¡¡¡2. /*+FIRST_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îС»¯.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
¡¡¡¡3. /*+CHOOSE*/
¡¡¡¡±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑµÄÍÌÍÂÁ¿;
¡¡¡¡±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐûÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¹æÔò¿ªÏúµÄÓÅ»¯·½·¨;
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
¡¡¡¡4. /*+RULE*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¹æÔòµÄÓÅ»¯·½·¨.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
¡¡¡¡5. /*+FULL(TABLE)*/
¡¡¡¡±íÃ÷¶Ô±íÑ¡ÔñÈ«¾ÖɨÃèµÄ·½·¨.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM from BSEMPMS A WHERE EMP_NO='SCOTT';
¡¡¡¡6. /*+ROWID(TABLE)*/
¡¡¡¡ÌáʾÃ÷È·±íÃ÷¶ÔÖ¸¶¨±í¸ù¾ÝROWID½øÐзÃÎÊ.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+ROWID(BSEMPMS)*/ * from BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA'
¡¡¡¡AND EMP_NO='SCOTT';
¡¡¡¡7. /*+CLUSTER(TABLE)*/
¡¡¡¡ÌáʾÃ÷È·±íÃ÷¶ÔÖ¸¶¨±íÑ¡Ôñ´ØÉ¨ÃèµÄ·ÃÎÊ·½·¨,ËüÖ»¶Ô´Ø¶ÔÏóÓÐЧ.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO from BSEMPMS,BSDPTMS
¡¡¡¡WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
¡¡¡¡8. /*+INDEX(TABLE INDEX_NAME)*/
¡¡¡¡±íÃ÷¶Ô±íÑ¡ÔñË÷ÒýµÄɨÃè·½·¨.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ from BSEMPMS WHERE SEX='M';
¡¡¡¡9. /*+INDEX_ASC(TABLE INDEX_NAME)*/
¡¡¡¡±íÃ÷¶Ô±íÑ¡ÔñË÷ÒýÉýÐòµÄɨÃè·½·¨.
¡¡¡¡ÀýÈç:
¡¡¡¡SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ from BSEMPMS WHERE DPT_NO='SCOTT';
¡¡¡¡10. /*+INDEX_COMBINE*/
¡¡¡¡ÎªÖ¸¶¨±íÑ¡Ôñλͼ·ÃÎÊ·¾,Èç¹ûINDEX_COMBINEÖÐûÓÐÌṩ×÷Ϊ²ÎÊýµÄË÷Òý,½«Ñ¡Ôñ³öλͼË÷ÒýµÄ²¼¶û×éºÏ·½Ê½.
¡¡¡¡ÀýÈç:
¡¡¡¡SE
Ïà¹ØÎĵµ£º
Ò»¡¢Ë÷ÒýÀàÐͼ°½á¹¹£º
oracleµÄË÷Òý·ÖΪ5ÖÖ:ΨһË÷Òý£¬×éºÏË÷Òý£¬·´Ïò¼üË÷Òý£¬Î»Í¼Ë÷Òý£¬»ùÓÚº¯ÊýµÄË÷Òý
Âß¼ÉÏ£º
Single column µ¥ÁÐË÷Òý
Concatenated ¶àÁÐË÷Òý
Unique ΨһË÷Òý
NonUnique ·ÇΨһË÷Òý
Function-basedº¯ÊýË÷Òý
Domain ÓòË÷Òý
ÎïÀíÉÏ£º
Partitioned ·ÖÇøË÷Òý
NonPartitioned ......
Linux ƽ̨ÏÂOracle Silent Installations(¾²Ä¬°²×°)£¬Ò»Ö±¶¼Ã»Óг¢ÊÔ¹ýÓÃÕâÖÖ·½·¨À´×°Êý¾Ý¿â¡£ ÒòΪÓи߼¶µÄ¹¤¾ß£¬¾ÍûÓбØÒªÔÚÀ´ÓÃÕâÖÖ·½·¨ÁË£¬Oracle µÄ½çÃæ»¹ÊDZȽϷ½±ã£¬¶øÇÒÎÒÃÇ»¹ÓÐXmanager ¹¤¾ß£¬ËùÒÔÔÚlinux ÏÂ×°Èí¼þ£¬»¹ÊǺܷ½±ãµÄ¡£
Òò´ËÒ²¾ÍûÓÐÌ«ÔÚÒâÕ ......
create or replace procedure inserttestdata
(
v_count in number,
v_startuserid in varchar2,
v_returnval out number )
as
v_opertime   ......
·ÖÒ³µÄ×ÚÖ¼ÊÇ¿ØÖƲéѯ³öÀ´µÄÊý¾Ý¸öÊý£¬ÏÂÃæÕâÌõÓï¾ä¶ÔÓÚOracle·ÖÒ³ÒѾ×ã¹»ÁË¡£
£¨×¢£º¸ÃÓï¾äÖ»ÄÜÓÃÓÚOracle£©
SELECT * from (SELECT temp.*, ROWNUM RN from (SELECT * from USERS ORDER BY ID DESC) temp) WHERE RN > 0 AND RN <= 10
SELECT *
from (SELECT AA.*, ROWNUM RN ......
1.ÔÚORACLEÖÐÓÃselect * from all_usersÏÔʾËùÓеÄÓû§£¬¶øÔÚMYSQLÖÐÏÔʾËùÓÐÊý¾Ý¿âµÄÃüÁîÊÇshow databases¡£¶ÔÓÚÎÒµÄÀí½â£¬ORACLEÏîÄ¿À´ËµÒ»¸öÏîÄ¿¾ÍÓ¦¸ÃÓÐÒ»¸öÓû§ºÍÆä¶ÔÓ¦µÄ±í¿Õ¼ä£¬¶øMYSQLÏîÄ¿ÖÐÒ²Ó¦¸ÃÓиöÓû§ºÍÒ»¸ö¿â¡£ÔÚORACLE(db2Ò²Ò»Ñù)Öбí¿Õ¼äÊÇÎļþϵͳÖеÄÎïÀíÈÝÆ÷µÄÂß¼±íʾ£¬ÊÓͼ¡¢´¥·¢Æ÷ºÍ´æ´¢¹ý³ÌÒ² ......