oracle常用hint的用法

文章作者 100test 发表时间 2012:03:17 17:51:50
来源 100Test.Com百考试题网


导读:hints是oracle提供的一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划。百考试题免费提供大量实用资料,更多资料进入#0000ff>oracle认证历年真题,模拟题,辅导等。

  写HINT目的

  手工指定SQL语句的执行计划

  hints是oracle提供的一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划。我们可以用hints来实现:

  1) 使用的优化器的类型

  2) 基于代价的优化器的优化目标,是all_rows还是first_rows。

  3) 表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid。

  4) 表之间的连接类型

  5) 表之间的连接顺序

  6) 语句的并行程度

  2、HINT可以基于以下规则产生作用

  表连接的顺序、表连接的方法、访问路径、并行度

  3、HINT应用范围

  dml语句

  查询语句

  4、语法

  {DELETE|INSERT|SELECT|UPDATE} /* hint [text] [hint[text]]... */

  or

  {DELETE|INSERT|SELECT|UPDATE} -- hint [text] [hint[text]]...

  如果语(句)法不对,则ORACLE会自动忽略所写的HINT,不报错

  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.


相关文章


2012年oracle认证考试介绍
oracle分布式事务
Oracle11GforLinux的安装(RHEL5)
OracleEXP_IMP参数说明
oracle常用hint的用法
Oracle临时表的几种用法及意义
Oracle通用函数 分组函数 子查询
oracle创建表空间方法
Oracle建立DBLINK的详细步骤记录
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛