- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle 10G中一些SQL优化的亮点
10G中一些SQL优化的亮点 1、优化器默认为CBO,OPTIMIZER_MODE默认值为ALL_ROWS。不再使用古老的RBO模式,但RULE、CHOOSE并没有彻底消失,有些时候仍然可以作为我们调试的工具。
2、CPU Costing的计算方式现在默认为CPU+I/O两者之和.可通过DBMS_XPLAN.DISPLAY_CURSOR观察更为详细的执行计划。
3、增加了几个有用SQL Hints:
INDEX_SS[[@block] tabs [inds]],INDEX_SS_ASC,INDEX_SS_DESC;SS为SKIP SCAN的缩写。skip scan以前讨论的很多。
NO_USE_N[[@block] tabs],NO_USE_HAHS,NO_USE_MERGE,NO_INDEX_FFS,NO_INDEX_SS,NO_STAR_TRANSFORMATION,NO_QUERY_TRANSFORMATION.
这几个HINT不用解释,一看就知道目的是什么。
USE_NL_WITH_INDEX([@block] tabs [index]):这个提示和Nested Loops有关,通过提示我们可以指定Nested Loops循环中的内部表,也就是开始循环连接其他表的表。CBO是否会执行取决于指定表是否有索引键关联。
QB_NAME(@blockname) 这个提示可以给某个查询定义一个name,并且可以在其他hints中使用这个name,并且将这个hints作用到这个name对应的查询中.其实从10G开始,Oracle对一些特定的查询自动使用queryblockname
4、10G中支持在hint中使用queryblockname
select * from a1where idin (select /*+ qb_name(sub1)*/ idfrom a1where idin (2,10,12));ExecutionPlan----------------------------------------------------------Plan hash value:173249654-----------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes| Cost (%CPU)| Time |-----------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 2 | 34 | 3 (34)| 00:00:01 || 1 | TABLE ACCESSBY INDEX ROWID| A1 | 1 | 14 | 1 (0)| 00:00:01 || 2 | NESTED LOOPS | | 2 | 34 | 3 (34)| 00:00:01 || 3 | SORTUNIQUE | | 2 | 6 | 1 (0)| 00:00:01 || 4 | INLIST ITERATOR | | | | | ||* 5 | INDEX RANGE SCAN | IDX_A1_ID| 2 | 6 | 1 (0)| 00:00:01 ||* 6 | INDEX RANGE SCAN | IDX_A1_ID| 1 | | 0 (0)| 00:00:01 |--------------------------------------------------------------------------------------------------------select * from a1where idin (select /*+ qb_name(sub1) full(@sub1 a1)*/
您可能关注的文档
- Erlang游戏开发.ppt - PowerPoint Presentation.ppt
- ERP实验报告 订单与物料需求计划.doc
- ERP查询功能的应用与操作.doc
- ESL电子纸屏说明书英文版.doc
- ERP软件培训.ppt
- Examination of Macroeconomics2003-2004学年第二学期Class:经济试验班021、022.doc
- Excel2010学习贴2:新Excel的颜色机制.docx
- Excel 的使用 1.概述 3.文本的输入 4.数据的运算 2.信息元素 Excel.ppt
- Excel在教学管理中的应用.doc
- EXCEL批量修改价格的方法下载 - EXCEL批量修改价格的方法.doc
文档评论(0)