SQL优化技巧:Oracle HINT使用详解.pdfVIP

  • 0
  • 0
  • 约1.16万字
  • 约 10页
  • 2026-01-28 发布于北京
  • 举报

SQL语句优化方法30例

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见的

OracleHINT的用法:

_

1./*+所有行*/

表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化。例如:

___

SELECT/*+ALL+_ROWS*/EMPNO,EMPNAM,DATINFROM

_

BSEMPMSWHEREEMPNO=SCOTT;

_

2./*+FIRSTROWS*/

表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化。

例如:

____

SELECT/*+FIRSTROWS*/EMPNO,EMPNAM,DATINFROM

_

BSEMPMSWHEREEMPNO=SCOTT;

3./*+CHOOSE*/

表明如果数据字典中有表的统计信息,将基于开销的优化方法,并获得最佳的吞

吐量;表明如果数据字典中没有表的统计信息,将基于规则开销的优化方法;例

___

如:SELECT/*+CHOOSE*/EMPNO,EMPNAM,DATINFROMBSEMPMS

_

WHEREEMPNO=SCOTT;

4./*+RULE*/

表明对语句块选择基于规则的优化方法。

例如:

___

SELECT/*+RULE*/EMPNO,EMPNAM,DATINFROM

_

BSEMPMSWHEREEMPNO=SCOTT;

5./*+FULL(TABLE)*/

表明对表选择全局扫描的方法。

例如:

___

SELECT/*+FULL(A)*/EMPNO,EMPNAMFROMBSEMPMSAWHEREEMPNO=SCOTT;

6./*+ROWID(TABLE)*/

提示明确表明对指定表根据ROWID进行。

例如:

SELECT/*+ROWID(BSEMPMS)*/*FROMBSEMPMSWHEREROWID=

_

AAAAAAAAAAAAAAANDEMPNO=SCOTT;

7./*+CLUSTER(TABLE)*/提示明确表明对指定表选择簇扫描的方

法,它只对簇对象有效。

SQL语句优化方法30例

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常

见OracleHINT的用法:

1./*+ALL_ROWS*/

表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.

例如:

SELECT/*+ALL+_ROWS*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHERE

EMP_NO=SCOTT;

2./*+FIRST_ROWS*/

表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小

化.

例如:

SELECT/*+FIRST_ROWS*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHERE

EMP_NO=SCOTT;

3./*+CHOOSE*/

表明如果数据字典中有表的统计信息,将基于开销的优化方法,并获得最佳

的吞吐量;

表明如果数据字典中没有表的统计信息,将基于规则开销的优化方法;

例如:

SELECT/*+CHOOSE*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHERE

EMP_NO=SCOTT;

4./*+RULE*/

表明对语句块选择基于规则的优化方法.

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档