【997755.com澳门葡京】说话优化措施30例,SQL语句优化措施30例

Java代码  997755.com澳门葡京 1

  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_【997755.com澳门葡京】说话优化措施30例,SQL语句优化措施30例。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)*/
    提示明令优化器使用索引作为访问路线.
    例如:
    SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE
    FROM BSEMPMS WHERE SAL <60000;

  12. /*+INDEX_DESC(TABLE INDEX_NAME)*/
    标明对表选拔索引降序的扫描方法.
    例如:
    SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE
    DPT_NO=’SCOTT’;

  13. /*+INDEX_FFS(TABLE INDEX_NAME)*/
    对点名的表施行高效全索引围观,而不是全表扫描的办法.
    例如:
    SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE
    DPT_NO=’TEC305′;

  14. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,…*/
    提拔明显开始展览施行设计的取舍,将多少个单列索引的扫描合起来.
    例如:
    SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM
    BSEMPMS WHERE EMP_NO=’SCOTT’ AND DPT_NO=’TDC306′;

  15. /*+USE_CONCAT*/
    对查询中的WHERE后边的OCR-V条件实行改变为UNION ALL的结合查询.
    例如:
    SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND
    SEX=’M’;

  16. /*+NO_EXPAND*/
    对此WHERE前面包车型客车OLAND只怕IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进展扩展.
    例如:
    SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND
    SEX=’M’;

  17. /*+NOWRITE*/
    明确命令禁止对查询块的询问重写操作.

  18. /*+REWRITE*/
    能够将视图作为参数.

  19. /*+MERGE(TABLE)*/
    可知对视图的相继查询举行对应的合并.
    例如:
    SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A
    (SELET DPT_NO
    ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE
    A.DPT_NO=V.DPT_NO
    AND A.SAL>V.AVG_SAL;

  20. /*+NO_MERGE(TABLE)*/
    对此有可统壹的视图不再合并.
    例如:
    SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS
    A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO)
    V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL;

  21. /*+ORDERED*/
    依照表出现在FROM中的顺序,OCR-VDERED使ORACLE依此顺序对其连接.
    例如:
    SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3
    C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

  22. /*+USE_NL(TABLE)*/
    将钦命表与嵌套的总是的行源实行连接,并把钦赐表作为内部表.
    例如:
    SELECT /*+ORDERED USE_NL(BSEMPMS)*/
    BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS
    WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  23. /*+USE_MERGE(TABLE)*/
    将钦点的表与别的行源通过合并排序连接格局连接起来.
    例如:
    SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE
    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  24. /*+USE_HASH(TABLE)*/
    将点名的表与任何行源通过哈希连接形式连接起来.
    例如:
    SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE
    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  25. /*+DRIVING_SITE(TABLE)*/
    强制与ORACLE所选取的岗位区别的表展开询问推行.
    例如:
    SELECT /*+DRIVING_SITE(DEPT)*/ * FROM
    BSEMPMS,[email protected]
    WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;

  26. /*+LEADING(TABLE)*/
    将内定的表作为连接次序中的首表.

  27. /*+CACHE(TABLE)*/
    当举行全表扫描时,CACHE提示能够将表的搜求块放置在缓冲区缓存中近来起码列表LRU的近年使用端
    例如:
    997755.com澳门葡京,SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  28. /*+NOCACHE(TABLE)*/
    当实行全表扫描时,CACHE提醒能够将表的查找块放置在缓冲区缓存中近来最少列表LRU的近年使用端
    例如:
    SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  29. /*+APPEND*/
    直接插入到表的最终,能够提升速度.
    insert /*+append*/ into test1 select * from test4 ;

  30. /*+NOAPPEND*/
    由此在插入语句生存期内终止互相形式来运转正常插入.
    insert /*+noappend*/ into test1 select * from test4 ;

SQL语句优化措施30例

语法:
提示里不区分轻重缓急写, 四个提示用空格分开, 如:select / *+ hint1(tab1)
hint2(TAB1 idx1) */ col1, col2 from tab1 where col1=’xxx’;
假设表使用了别称, 那么提醒里也必须使用小名, 如:select / *+ hint1(t1)
*/ col1, col2 from tab1 t1 where col1=’xxx’;

  1. 1. /*+ALL_ROWS*/   
  2. 申明对语句块选取基于开支的优化措施,并得到最好吞吐量,使能源消耗最小化.   
  3. 例如:   
  4. SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;   
  5. 2. /*+FIRST_ROWS*/   
  6. 标记对语句块选拔基于花费的优化措施,并获得最棒响应时间,使能源消耗最小化.   
  7. 例如:   
  8. SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;   
  9.   
  10. 3. /*+CHOOSE*/   
  11. 注脚借使数据字典中有访问表的总计新闻,将依据费用的优化措施,并得到最棒的吞吐量;   
  12. 标明要是数额字典中一直不访问表的计算音信,将基于规则开销的优化措施;   
  13. 例如:   
  14. SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;   
  15.   
  16. 4. /*+RULE*/   
  17. 注明对语句块选拔基于规则的优化方法.   
  18. 例如:   
  19. SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;   
  20.   
  21. 5. /*+FULL(TABLE)*/   
  22. 标明对表选用全局扫描的方法.   
  23. 例如:   
  24. SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO=’SCOTT’;   
  25.   
  26. 6. /*+ROWID(TABLE)*/   
  27. 唤醒分明标明对点名表根据ROWID举行访问.   
  28. 例如:   
  29. SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>=’AAAAAAAAAAAAAA’   
  30. AND EMP_NO=’SCOTT’;   
  31.   
  32. 7. /*+CLUSTER(TABLE)*/   
  33. 提示显著证明对点名表选用簇扫描的访问方法,它只对簇对象有效.   
  34. 例如:   
  35. SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS   
  36. WHERE DPT_NO=’TEC304′ AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;   
  37.   
  38. 8. /*+INDEX(TABLE INDEX_NAME)*/   
  39. 标明对表选用索引的扫描方法.   
  40. 例如:   
  41. SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX=’M’;   
  42.   
  43. 9. /*+INDEX_ASC(TABLE INDEX_NAME)*/   
  44. 标明对表接纳索引升序的围观方法.   
  45. 例如:   
  46. SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO=’SCOTT’;   
  47.   
  48. 10. /*+INDEX_COMBINE*/   
  49. 为钦赐表选用位图访问路经,假诺INDEX_COMBINE中从不提供作为参数的目录,将精选出位图索引的布尔组合格局.   
  50. 例如:   
  51. SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM BSEMPMS   
  52. WHERE SAL<5000000 AND HIREDATE<SYSDATE;   
  53.   
  54. 11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/   
  55. 升迁明令优化器使用索引作为走访路径.   
  56. 例如:   
  57. SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE   
  58. FROM BSEMPMS WHERE SAL<60000;   
  59.   
  60. 12. /*+INDEX_DESC(TABLE INDEX_NAME)*/   
  61. 标明对表选用索引降序的围观方法.   
  62. 例如:   
  63. SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO=’SCOTT’;   
  64.   
  65. 13. /*+INDEX_FFS(TABLE INDEX_NAME)*/   
  66. 对点名的表试行高效全索引围观,而不是全表扫描的办法.   
  67. 例如:   
  68. SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE DPT_NO=’TEC305′;   
  69.   
  70. 14. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,…*/   
  71. 提醒显然进展实践规划的取舍,将多少个单列索引的扫描合起来.   
  72. 例如:   
  73. SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM BSEMPMS WHERE EMP_NO=’SCOTT’ AND DPT_NO=’TDC306′;   
  74.   
  75. 15. /*+USE_CONCAT*/   
  76. 对查询中的WHERE后边的O卡宴条件进行转移为UNION ALL的三结合查询.   
  77. 例如:   
  78. SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND SEX=’M’;   
  79. 16. /*+NO_EXPAND*/   
  80. 对于WHERE前边的O汉兰达 恐怕IN-LIST的询问语句,NO_EXPAND将阻碍其基于优化器对其进展扩大.   
  81. 例如:   
  82. SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND SEX=’M’;   
  83.   
  84. 17. /*+NOWRITE*/   
  85. 禁止对查询块的查询重写操作.   
  86.   
  87. 18. /*+REWRITE*/   
  88. 可以将视图作为参数.   
  89.   
  90. 19. /*+MERGE(TABLE)*/   
  91. 能够对视图的依次查询进行对应的合并.   
  92. 例如:   
  93. SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELET DPT_NO  
  94. ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO   
  95. AND A.SAL>V.AVG_SAL;   
  96.   
  97. 20. /*+NO_MERGE(TABLE)*/   
  98. 对此有可统一的视图不再合并.   
  99. 例如:   
  100. SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL;   
  101.   
  102. 21. /*+ORDERED*/   
  103. 依照表出现在FROM中的顺序,OPRADODERED使ORACLE依此顺序对其连接.   
  104. 例如:   
  105. SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;   
  106.   
  107. 22. /*+USE_NL(TABLE)*/   
  108. 将钦命表与嵌套的连日的行源实行三番五次,并把钦命表作为个中表.   
  109. 例如:   
  110. SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;   
  111.   
  112. 23. /*+USE_MERGE(TABLE)*/   
  113. 将点名的表与其余行源通过统一排序连接格局连接起来.   
  114. 例如:   
  115. SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;   
  116.   
  117. 24. /*+USE_HASH(TABLE)*/   
  118. 将点名的表与其余行源通过哈希连接情势连接起来.   
  119. 例如:   
  120. SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;   
  121.   
  122. 25. /*+DRIVING_SITE(TABLE)*/   
  123. 强制与ORACLE所选拔的职位不相同的表实行查询实行.   
  124. 例如:   
  125. SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;   
  126.   
  127. 26. /*+LEADING(TABLE)*/   
  128. 将点名的表作为连接次序中的首表.   
  129.   
  130. 27. /*+CACHE(TABLE)*/   
  131. 当进行全表扫描时,CACHE提醒可以将表的找寻块放置在缓冲区缓存中近日至少列表LRU的近期利用端   
  132. 例如:   
  133. SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;   
  134.   
  135. 28. /*+NOCACHE(TABLE)*/   
  136. 当进行全表扫描时,CACHE提醒可以将表的研究块放置在缓冲区缓存中方今起码列表LRU的近年利用端   
  137. 例如:   
  138. SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;   
  139.   
  140. 29. /*+APPEND*/   
  141. 直接插入到表的结尾,能够巩固速度.   
  142. insert /*+append*/ into test1 select * from test4 ;   
  143.   
  144. 30. /*+NOAPPEND*/   
  145. 经过在插入语句生存期内停下相互方式来运转平常插入.   
  146.   

    关注流行国外网址

    facebook:http://www.fb-on.com

    facebook官网:http://www.facebookzh.com

    facebook:http://www.cn-face-book.com

    youtube:http://www.youtubezh.com

    twitter:http://www.twitterzh.com

     

  147. insert /*+noappend*/ into test1 select * from test4 ;
     

. /*+ALL_ROWS*/
注明对语句块采纳基于成本的优化措施,并得到最好吞吐量,使能源消耗最小化.
例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM
BSEM…

在SQL语句优化进度中,大家常常会用到hint,现总计一下在SQL优化进程中常见Oracle
HINT的用法:

在SQL优化过程中常见HINT的用法(前13个相比常用, 前3个最常用):

  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’;
  1. / *+ INDEX */ 和 / *+ INDEX(TABLE INDEX1, index2) */ 和 / *+
    INDEX(tab1.col1 tab2.col2) */ 和 / *+ NO_INDEX */ 和 / *+
    NO_INDEX(TABLE INDEX1, index2) */
    评释对表采纳索引的扫视方法.
    第三种不钦点索引名是让oracle对表中可用索引相比并采纳某些最好索引;
    第两种是钦赐索引名且可钦赐四个目录; 第两种是10g起来部分, 钦定列名,
    且表名可不要别称; 第三种即全表扫描; 第4种表示禁止使用某些索引,
    尤其契合于准备删除有些索引前的评估操作.
    假使同时使用了INDEX和NO_INDEX则五个提示都会被忽视掉.
    例如:SELECT / *+ INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE
    ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX=’M’;

  2. / *+ ORDERED */
    FROM子句中暗许最终三个表是驱动表,OBMWX伍DERED将from子句中第3个表作为驱动表.
    尤其符合于多表连接异常的慢时尝试.
    例如:SELECT / *+ ORDERED */ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2
    B,TABLE3 C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

  3. / *+ PARALLEL(table1,DEGREE) */ 和 / *+ NO_PARALLEL(table1) */
    该提醒会将索要试行全表扫描的查询分成三个部分(并行度)施行,
    然后在分裂的操作系统进度中拍卖各种部分. 该提醒还可用以DML语句.
    借使SQL里还有排序操作,
    进度数会翻倍,别的还有3个三个担负组合那几个有个别的经过,如上边包车型大巴例证会生出7个进度.
    假使在提醒中并未有点名DEGREE, 那么就会选用创制表时的暗中认可值.
    该提示在默许情状下会使用应用软件END提醒.
    NO_PARALLEL是明确命令禁止并行操作,不然语句会使用由于定义了互相对象而爆发的相互处理.
    例如:select / *+ PARALLEL(tab_test,4) */ col1, col2 from tab_test
    order by col2;

  4. / *+ FIRST_ROWS */ 和 / *+ FIRST_ROWS(n) */
    表示用最快速度得到第一/n行, 得到最棒响应时间, 使财富消耗最小化.
    在update和delete语句里会被忽略, 使用分组语句如group
    by/distinct/intersect/minus/union时也会被忽略.
    例如:SELECT / *+ FIRST_ROWS */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS
    WHERE EMP_NO=’SCOTT’;

  5. / *+ RULE */
    注解对语句块接纳基于规则的优化方法.
    例如:SELECT / *+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
    EMP_NO=’SCOTT’;

  6. / *+ FULL(TABLE) */
    标明对表选用全局扫描的方法.
    例如:SELECT / *+ FULL(A) */ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE
    EMP_NO=’SCOTT’;

  7. / *+ LEADING(TABLE) */
    就像于OLANDDERED提示, 将钦命的表作为连接次序中的驱动表.

  8. / *+ USE_NL(TABLE1,TABLE2) */
    将内定表与嵌套的接连的行源实行三番五次,以最神速度重临第二行再连接,与USE_MEEscortGE刚好相反.
    例如:SELECT / *+ ORDERED USE_NL(BSEMPMS) */
    BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS
    WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  9. / *+ APPEND */ 和 / *+ NOAPPEND */
    直接插入到表的最终,该提示不会检查当前是还是不是有插入操作所需的块空间而是一贯助长到新块中,
    所以能够加强速度. 当然也会浪费些空间,
    因为它不会利用那多少个做了delete操作的块空间.
    NOAPPEND提醒则相反,所以会撤除PARALLEL提醒的默许应用程式END提醒.
    例如:insert / *+ append */ into test1 select * from test4;
    insert / *+ parallel(test1) noappend */ into test1 select * from
    test4;

  10. / *+ USE_HASH(TABLE1,table2) */
    将钦命的表与其它行源通过哈希连接情势连接起来.为较大的结果集提供最好响应时间.
    类似于在连接表的结果中遍历每个表上每一种结果的嵌套循环,
    钦点的hash表将被放入内部存款和储蓄器,
    所以必要有足够的内部存款和储蓄器(hash_area_size或pga_aggregate_target)才具保证语句正确实施,
    不然将要磁盘里进行.
    例如:SELECT / *+ USE_HASH(BSEMPMS,BSDPTMS) */ * FROM BSEMPMS,BSDPTMS
    WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  1. /*+CHOOSE*/
    标明假诺数额字典中有访问表的总括新闻,将基于开支的优化措施,并获得最好的吞吐量;
    注脚如若数量字典中未有访问表的总结音讯,将依据规则成本的优化措施;
    例如:
    SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
    EMP_NO=’SCOTT’;

  2. /*+RULE*/
    标记对语句块选取基于规则的优化方法.
    例如:
    SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
    EMP_NO=’SCOTT’;

  3. /*+FULL(TABLE)*/
    标识对表选取全局扫描的方法.
    例如:
    SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE
    EMP_NO=’SCOTT’;

  4. /*+ROWID(TABLE)*/
    提醒明确申明对点名表依据ROWID举办访问.
    例如:
    SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE
    ROWID>=’AAAAAAAAAAAAAA’
    AND EMP_NO=’SCOTT’;

  5. /*+CLUSTER(TABLE)*/
    提拔明显标明对点名表选拔簇扫描的拜访方法,它只对簇对象有效.
    例如:
    SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS
    WHERE DPT_NO=’TEC304′ AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  6. /*+INDEX(TABLE INDEX_NAME)*/
    注明对表选用索引的扫视方法.
    例如:
    SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE
    FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX=’M’;

  7. /*+INDEX_ASC(TABLE INDEX_NAME)*/
    表明对表选拔索引升序的扫描方法.
    例如:
    SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE
    DPT_NO=’SCOTT’;

  8. /*+INDEX_COMBINE*/
    为钦命表选取位图访问路经,借使INDEX_COMBINE中从不提供作为参数的目录,将甄选出位图索引的布尔组合格局.
    例如:
    SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM
    BSEMPMS
    WHERE SAL<5000000 AND HIREDATE

  9. /*+INDEX_JOIN(TABLE INDEX_NAME)*/
    唤醒明令优化器使用索引作为走访路线.
    例如:
    SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE
    FROM BSEMPMS WHERE SAL<60000;

  10. /*+INDEX_DESC(TABLE INDEX_NAME)*/
    标明对表选用索引降序的扫描方法.
    例如:
    SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE
    DPT_NO=’SCOTT’;

  11. /*+INDEX_FFS(TABLE INDEX_NAME)*/
    对点名的表实践高效全索引围观,而不是全表扫描的办法.
    例如:
    SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE
    DPT_NO=’TEC305′;

  12. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,…*/
    升迁明显开始展览施行安排的挑选,将多少个单列索引的扫描合起来.
    例如:
    SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM
    BSEMPMS WHERE EMP_NO=’SCOTT’ AND DPT_NO=’TDC306′;

  13. /*+USE_CONCAT*/
    对查询中的WHERE前边的OXC60条件举行改变为UNION ALL的结缘查询.
    例如:
    SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND
    SEX=’M’;

  14. /*+NO_EXPAND*/
    对此WHERE前面包车型的士OLacrosse或然IN-LIST的询问语句,NO_EXPAND将阻止其依据优化器对其举办扩张.
    例如:
    SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND
    SEX=’M’;

  15. /*+NOWRITE*/
    取缔对查询块的查询重写操作.

  16. /*+REWRITE*/
    能够将视图作为参数.

  17. /*+MERGE(TABLE)*/
    可以对视图的相继查询进行对应的合并.
    例如:
    SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A
    (SELET DPT_NO
    ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE
    A.DPT_NO=V.DPT_NO
    AND A.SAL>V.AVG_SAL;

  18. /*+NO_MERGE(TABLE)*/
    对此有可统1的视图不再合并.
    例如:
    SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS
    A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO)
    V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL;

  19. /*+ORDERED*/
    据书上说表出现在FROM中的顺序,O大切诺基DERED使ORACLE依此顺序对其连接.
    例如:
    SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3
    C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

  20. /*+USE_NL(TABLE)*/
    将钦定表与嵌套的连日的行源举行延续,并把钦命表作为在这之中表.
    例如:
    SELECT /*+ORDERED USE_NL(BSEMPMS)*/
    BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS
    WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  21. /*+USE_MERGE(TABLE)*/
    将点名的表与其余行源通过联合排序连接形式连接起来.
    例如:
    SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE
    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  22. /*+USE_HASH(TABLE)*/
    将点名的表与别的行源通过哈希连接格局连接起来.
    例如:
    SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE
    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  23. /*+DRIVING_SITE(TABLE)*/
    强制与ORACLE所采用的岗位不相同的表举行查询施行.
    例如:
    SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS WHERE
    BSEMPMS.DPT_NO=DEPT.DPT_NO;

  24. /*+LEADING(TABLE)*/
    将点名的表作为连接次序中的首表.

  25. /*+CACHE(TABLE)*/
    当进行全表扫描时,CACHE提示能够将表的物色块放置在缓冲区缓存中方今至少列表LRU的近来利用端
    例如:
    SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  26. /*+NOCACHE(TABLE)*/
    当举行全表扫描时,CACHE提示能够将表的查究块放置在缓冲区缓存中近期最少列表LRU的近年利用端
    例如:
    SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  27. /*+APPEND*/
    直接插入到表的最后,能够加强速度.
    insert /*+append*/ into test1 select * from test4 ;

  28. /*+NOAPPEND*/
    由此在插入语句生存期内终止互相形式来运维通常插入.
    insert /*+noappend*/ into test1 select * from test4 ;


  1. / *+ USE_MERGE(TABLE) */
    将钦定的表与其余行源通过合并排序连接格局连接起来.越发吻合于那种在四个表大批量行上实行联谊操作的查询,
    它会将点名表检索到的的具备行排序后再被合并, 与USE_NL刚好相反.
    例如:SELECT / *+ USE_MERGE(BSEMPMS,BSDPTMS) */ * FROM
    BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  2. / *+ ALL_ROWS */
    申明对语句块选取基于花费的优化措施,并获得最好吞吐量,使财富消耗最小化.
    大概会限制有些索引的使用.
    例如:SELECT / *+ ALL+_ROWS */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS
    WHERE EMP_NO=’SCOTT’;

  3. / *+ CLUSTER(TABLE) */
    晋升显著标明对点名表选取簇扫描的拜会方法.
    假使常常访问连接表但很少修改它, 那就动用集群提示.
    例如:SELECT / *+ CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM
    BSEMPMS,BSDPTMS WHERE DPT_NO=’TEC304′ AND
    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  4. / *+ INDEX_ASC(TABLE INDEX1, INDEX2) */
    注脚对表采取索引升序的扫描方法. 从八i伊始, 那一个提醒和INDEX提醒作用雷同,
    因为暗中同意oracle就是服从升序扫描索引的,
    除非以往oracle还退出降序扫描索引.
    例如:SELECT / *+ INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE
    DPT_NO=’SCOTT’;

  5. / *+ INDEX_COMBINE(TABLE INDEX1, INDEX2) */
    点名五个位图索引,
    对于B树索引则应用INDEX这些提醒,假如INDEX_COMBINE中并没有提供作为参数的目录,将甄选出位图索引的布尔组合格局.
    例如:SELECT / *+ INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI) */ *
    FROM BSEMPMS WHERE SAL<5000000 AND HIREDATE

  6. / *+ INDEX_JOIN(TABLE INDEX1, INDEX2) */
    集合索引, 全部数据都早已包涵在那三个目录里, 不会再去访问表,
    比使用索引并通过rowid去扫描表要快5倍.
    例如:SELECT / *+ INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI) */
    SAL,HIREDATE FROM BSEMPMS WHERE SAL<60000;

  7. / *+ INDEX_DESC(TABLE INDEX1, INDEX2) */
    标识对表选取索引降序的扫视方法.
    例如:SELECT / *+ INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS
    WHERE DPT_NO=’SCOTT’;

  8. / *+ INDEX_FFS(TABLE INDEX_NAME) */
    对点名的表执行高效全索引围观,而不是全表扫描的办法.要求要物色的列都在目录里,
    如若表有多数列时越发适用该提醒.
    例如:SELECT / *+ INDEX_FFS(BSEMPMS IN_EMPNAM) */ * FROM BSEMPMS
    WHERE DPT_NO=’TEC305′;

  9. / *+ NO_EXPAND */
    对此WHERE前面包车型大巴O猎豹CS陆或然IN-LIST的查询语句,NO_EXPAND将堵住其依据优化器对其打开扩大,
    裁减解析时间.
    例如:SELECT / *+ NO_EXPAND */ * FROM BSEMPMS WHERE DPT_NO=’TDC506′
    AND SEX=’M’;

  10. / *+ DRIVING_SITE(TABLE) */
    强制与ORACLE所挑选的任务分歧的表展开询问推行.越发适用于通过dblink连接的远程表.
    例如:SELECT / *+ DRIVING_SITE(DEPT) */ * FROM BSEMPMS,DEPT@BSDPTMS
    DEPT WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;

  11. / *+ CACHE(TABLE) */ 和 / *+ NOCACHE(TABLE) */
    当实行全表扫描时,CACHE提示能够将表全部缓存到内部存储器中,那样访问同二个表的用户可间接在内部存款和储蓄器中搜寻数据.
    相比符合数据量小但常被访问的表,
    也足以建表时钦命cache选项那样在第二遍访问时就能够对其缓存.
    NOCACHE则代表对已经钦命了CACHE选项的表不开始展览缓存.
    例如:SELECT / *+ FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM
    BSEMPMS;

  12. / *+ PUSH_SUBQ */
    当SQL里用到了子查询且再次回到相对少的行时,
    该提示能够不择花招早对子查询进行业评比估从而立异质量,
    不适用于统几次三番接或带远程表的连接.
    例如:select / *+ PUSH_SUBQ */ emp.empno, emp.ename, itemno from emp,
    orders where emp.empno = orders.empno and emp.deptno = (select deptno
    from dept where loc=’XXX’);

  13. / *+ INDEX_SS(TABLE INDEX1,INDEX2) */
    指令对特定表的目录使用跳跃扫描, 即当组合索引的率先列不在where子句中时,
    让其利用该索引.

  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

  11. / *+INDEX_JOIN(TABLE INDEX_NAME)*/
  提示明令优化器使用索引作为访问路线.
  例如:
  SELECT / *+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/
SAL,HIREDATE
  FROM BSEMPMS WHERE SAL<60000;

  12. / *+INDEX_DESC(TABLE INDEX_NAME)*/
  证明对表选用索引降序的围观方法.
  例如:
  SELECT / *+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE
DPT_NO=’SCOTT’;

  13. / *+INDEX_FFS(TABLE INDEX_NAME)*/
  对点名的表施行高效全索引围观,而不是全表扫描的办法.
  例如:
  SELECT / *+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE
DPT_NO=’TEC305′;

  14. / *+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,…*/
  提醒鲜明进展实行规划的精选,将多少个单列索引的扫描合起来.
  例如:
  SELECT / *+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ *
FROM BSEMPMS WHERE EMP_NO=’SCOTT’ AND DPT_NO=’TDC306′;

  15. / *+USE_CONCAT*/
  对查询中的WHERE前面包车型地铁O途胜条件举行转移为UNION ALL的咬合查询.
  例如:
  SELECT / *+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′
AND SEX=’M’;

  16. / *+NO_EXPAND*/
  对于WHERE前面包车型大巴O奥迪Q5大概IN-LIST的查询语句,NO_EXPAND将堵住其基于优化器对其展开扩大.
  例如:
  SELECT / *+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO=’TDC506′ AND
SEX=’M’;

  17. / *+NOWRITE*/
  禁止对查询块的询问重写操作.

  18. / *+REWRITE*/
  能够将视图作为参数.

  19. / *+MERGE(TABLE)*/
  能够对视图的次第查询进行相应的合并.
  例如:
  SELECT / *+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS
A (SELET DPT_NO
  ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE
A.DPT_NO=V.DPT_NO
  AND A.SAL>V.AVG_SAL;

  20. / *+NO_MERGE(TABLE)*/
  对于有可统一的视图不再合并.
  例如:
  SELECT / *+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM
BSEMPMS A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY
DPT_NO) V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL;

  21. / *+ORDERED*/
  依据表出现在FROM中的顺序,O昂科拉DERED使ORACLE依此顺序对其连接.
  例如:
  SELECT / *+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2
B,TABLE3 C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

  22. / *+USE_NL(TABLE)*/
  将钦命表与嵌套的总是的行源实行几次三番,并把钦点表作为内部表.
  例如:
  SELECT / *+ORDERED USE_NL(BSEMPMS)*/
BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS
WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  23. / *+USE_MERGE(TABLE)*/
  将点名的表与任何行源通过集合排序连接方式连接起来.
  例如:
  SELECT / *+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS
WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  24. / *+USE_HASH(TABLE)*/
  将内定的表与别的行源通过哈希连接格局连接起来.
  例如:
  SELECT / *+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS
WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  25. / *+DRIVING_SITE(TABLE)*/
  强制与ORACLE所选拔的地方不一致的表张开询问实施.
  例如:
  SELECT / *+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS
WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;

  26. / *+LEADING(TABLE)*/
  将内定的表作为连接次序中的首表.

  27. / *+CACHE(TABLE)*/
  当进行全表扫描时,CACHE提示能够将表的研究块放置在缓冲区缓存中如今起码列表LRU的近年选用端
  例如:
  SELECT / *+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  28. / *+NOCACHE(TABLE)*/
  当举办全表扫描时,CACHE提醒能够将表的搜寻块放置在缓冲区缓存中近年来最少列表LRU的近年来选拔端
  例如:
  SELECT / *+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  29. / *+APPEND*/
  直接插入到表的最终,能够压实速度.
  insert / *+append*/ into test1 select * from test4 ;

  30. / *+NOAPPEND*/
  通过在插入语句生存期内终止互相方式来运营健康插入.
  insert / *+noappend*/ into test1 select * from test4 ;

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website