HINT用法

最近时间基本都花在给公司员工培训上,都是一些初级的培训,看着PUB吧上的那些牛人们,真想他们给我来次培训。有时候真想立刻换个工作,身边都是一些ORALCE高手们该多好,这样进步也快,可惜啊,目前还没那魄力,再等等吧。
昨天培训的是tkprof工具的用法,讲义概要也已经发到PUB上了,初级菜鸟的朋友可以看看。
http://www.itpub.net/thread-1316020-1-1.html

今天给他们培训的内容是提示的用法,及提示的作用范围。内容大体如下:
1)提示的用法
提示(HINT)虽然也采用了/*。。。*/的形式,可是提示不同于注释,注释可以放在代码的任意位置,可是提示必须紧跟在select,delete,update这些关键字之后,且/*必须带+号。如:
select /*+ full(t) */* from t; 最好养成好的习惯,full(t)前后都带着一个空格,因为有些应用程序可能会把HINT当成注释。需要注意的是如果你的提示存在语法问题,SQL解析器并不会抛出错误,而会把它当成真正的注释。
2)提示的分类(这里不会列举所有的提示)
一、初始化参数提示:如非常熟悉的first_rows_n,all_rows,gather_plan_statistics。以gather_plan_statistics为例来说明,如果statistics_level参数设置的不是all,那么语句在执行的过程中并不会统计语句执行过程中实际的执行时间,读取的buffer数,以及Cardinality.有时候为了测试需要我们可以通过添加HINT,来达到目的。

SQL> select /*+ gather_plan_statistics */* from t where id=1;

SQL> select * from table(dbms_xplan.display_cursor(null,null,'iostats last'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------
--------
SQL_ID  cqu5tgppp9ucu, child number 0
-------------------------------------
select /*+ gather_plan_statistics */* from t where id=1

Plan hash value: 1316489643

-------------------------------------------------------------------------------------------------------------------
| Id  | Operation                          | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
-------------------------------------------------------------------------------------------------------------------
|   1 |  PARTITION RANGE ALL               |           |      1 |      1 |      2 |00:00:00.10 |      51 |     50 |
|   2 |   TABLE ACCESS BY LOCAL INDEX ROWID| T         |     48 |      1 |      2 |00:00:00.21 |      51 |     50 |
|*  3 |    INDEX RANGE SCAN                | IND_LOCAL |     48 |      1 |      2 |00:00:00.19 |      49 |     48 |
-------------------------------------------------------------------------------------------------------------------

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-665743/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22034023/viewspace-665743/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值