Oracle 30¸öhint
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬¾³£»áÓõ½hint,
ÒÔÏÂÊÇÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracleÖÐ"HINT"µÄ30¸öÓ÷¨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ÖÐûÓÐÌṩ×÷Ϊ²ÎÊýµÄË÷Òý,½«Ñ¡Ôñ³öλͼË÷ÒýµÄ²¼¶û×éºÏ·½Ê½.
ÀýÈç:
SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * from BSEMPMS
WHERE SAL<5000000 AND HIREDATE<SYSDATE;
11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/
ÌáʾÃ÷È·ÃüÁîÓÅ»¯Æ÷ʹÓÃË÷Òý×÷Ϊ·ÃÎÊ
Ïà¹ØÎĵµ£º
10053ʼþÊÇoracleÌṩµÄÓÃÓÚ¸ú×ÙsqlÓï¾ä³É±¾¼ÆËãµÄÄÚ²¿Ê¼þ£¬
ËüÄܼÇÔØCBOģʽÏÂoracleÓÅ»¯Æ÷ÈçºÎ¼ÆËã sql³É±¾£¬Éú³ÉÏàÓ¦µÄÖ´Ðмƻ®¡£
ÈçºÎÉèÖÃ10053ʼþ
ÉèÖñ¾sessionµÄ10053
¿ªÆô£º
Alter session set events’10053 trace name context forever[,level {1/2}]’;
¹Ø±Õ£º
Alter session set events& ......
ÔÚÒ»°ãSelectÓï¾äÖÐÎÒÃÇͨ¹ýOrder by ...Asc/DescÀ´½øÐÐÅÅÐò¡£µ«ÊÇÕâÖÖÅÅÐò·½Ê½ÔÚÊä³öʱ£¬²»°üº¬ÅÅÐòºóµÄÐòºÅÐÅÏ¢¡£
ÏÖÔÚ½éÉÜÒ»ÏÂOracleÖпÉÒÔÓÃÓÚÅÅÐòÊä³öµÄ·½·¨¡£
1. RANK ( ) OVER ( [query_partition_clause] order_by_clause )
RANK ( ) OVER ( [query_p ......
Ò»¡¢Á¬½Ó¹æÔò£¬Ò»ÇвÙ×÷µÄǰÌá¡£ µÍ°æ±¾¿Í»§¶ËÄܹ»Á¬½Óµ½Í¬Ñù°æ±¾»òÕ߸ü¸ß°æ±¾µÄ·þÎñÆ÷ÉϽøÐÐimpºÍexp²Ù×÷¡£ ¸ß°æ±¾¿Í»§¶Ë²»ÄÜÁ¬½Óµ½µÍ°æ±¾µÄ·þÎñÆ÷ÉϽøÐÐimp»òÕßemp²Ù×÷¡£ ¶þ¡¢»ìºÏʹÓùæÔò£¬Ç°ÌáÊÇÒªÂú×ãÁ¬½Ó¹æÔò¡£ µÍ°æ±¾exp³öµÄdmpÎļþ£¬Óø߰汾Äܹ»imp½øÈ¥¡£ ¸ß°æ±¾exp³öµÄdmpÎļþ£¬µÍ°æ±¾µÄimp¹¤¾ß² ......
[root@localhost bin]# pwd
/usr/local/bin
[root@localhost bin]# ls
coraenv dbhome oraenv
[root@localhost bin]#
[root@localhost etc]# ls -la ora*
-rw-r--r-- 1 root root 60 2008-09-19 oraInst.loc
-rw-rw-r-- 1 oracle oinstall 731 2008-09-19 or ......
Êý¾Ý˵Ã÷Ò»ÇУº
create table dept(deptno number,deptname varchar2(20),mgrno number);
insert into dept values (1, '×ܹ«Ë¾', null);
insert into dept values (2, 'Õã½·Ö¹«Ë¾', 1);
insert into dept values (3, 'º¼ÖÝ·Ö¹«Ë¾', 2);
commit;
select t.* from dept t;
DEPTNO &n ......