WEB开发网
开发学院数据库Oracle 教你快速掌握Oracle中"HINT"的30个用法 阅读

教你快速掌握Oracle中"HINT"的30个用法

 2007-09-14 12:40:22 来源:WEB开发网   
核心提示: 7. /*+CLUSTER(TABLE)*/ 提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效, 例如: SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMSWHERE DPT_NO='TEC304

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';

上一页  1 2 3 4  下一页

Tags:快速 掌握 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接