OracleHint使用实例.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OracleHint使用实例

Oracle Hint使用实例 在 sql语句优化过程中,我们经常会用到hint,现总结一下在 sql优化过程中常见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’; 3. /*+choose*/ 表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量; 表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法; 例如: select /*+choose*/ emp_no,emp_nam,dat_in from bsempms where emp_no=‘scott’; 4. /*+rule*/ 表明对语句块选择基于规则的优化方法. 例如: select /*+ rule */ emp_no,emp_nam,dat_in from bsempms where emp_no=‘scott’; 5. /*+full(table)*/ 表明对表选择全局扫描的方法. 例如: select /*+full(a)*/ emp_no,emp_nam from bsempms a where emp_no=‘scott’; 6. /*+rowid(table)*/ 提示明确表明对指定表根据rowid 进行访问. 例如: select /*+rowid(bsempms)*/ * from bsempms where rowid=‘aaaaaaaaaaaaaa’ and emp_no=‘scott’; 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)*/(同 /*+index(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 sal5000000 and hiredatesysdate; 11. /*+index_join(table index_name)*/ 提示明确命令优化器使用索引作为访问路径. 例如: select /*+index_join(bsempms sal_hmi hiredate_bmi)*/ sal,hiredate from bsempms where sal60000; 12. /*+index_desc(table index_name)*/ 表明对表选择索引降序的扫描方法. 例如: select /*+index_desc(bsempms pk_bsempms) */ from bsempms where dpt_no=‘scott’; 13. /*+index_ffs(table index_name)*/ 对指定的表执行快

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档