科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道快速掌握Oracle中"HINT"的30个用法 (2)

快速掌握Oracle中"HINT"的30个用法 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

/*+INDEX(TABLE INDEX_NAME)*/ 表明对表选择索引的扫描方法。

作者:huimou 来源:赛迪网 2007年9月20日

关键字: clobcol GnuPG Simp Lite nomount

  • 评论
  • 分享微博
  • 分享邮件
 

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';
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章