oracle常用hint的用法(一)
来源:深圳教育在线 作者:well 时间:2010/9/21 9:48:00

  -

  写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*/

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

免责声明:本文仅代表作者个人观点,与总裁世界无关。其原创性以及文中陈述内容的真实性、完整性、及时性本站不作任何保证或承诺,总裁世界对所有观点均保持中立态度,请读者仅作参考,并请自行核实相关内容。
网站首页 - 关于我们 - 版权声明 - 广告服务 - 网站地图 - 会员专区 - 客户服务 - 疑难解答 - 联系我们
总裁世界 版权所有Copyright © 2004 - 2017 www.ceoedu.com/www.ceoedu.com
总机电话:0755-88844436   业务联系:0755-83692700   中国·深圳 粤ICP备14047004号
客服咨询
24小时客服在线
马上咨询