- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracl数据库性能优化精解
Oracle数据库性能优化精解 诊断工具中的七种武器 多情环 — sql tuning advisor/sql access advisor:多情环似乎是一个情种,谁拥有它似乎都会产生感情,从而对许多江湖事看的很淡。在Oracle应用中,谁对性能影响最大,不言而喻,是SQL,准确地说是SQL语句的算法,可以说,80%以上的性能问题都可以通过调整SQL来解决或者缓解,拥有调优SQL性能的能力,基本上可以算作一个DBA高手咯。。。 SQL优化指导 顶级SQL 运行SQL优化指导 SQL Access Advisor 同时考虑 索引解决方案 物化视图解决方案 两者的结合 优化物化视图以获得 最大化查询重写使用率 快速刷新 为快速刷新推荐物化视图日志 将类似索引合并到单一索引 诊断工具中的七种武器 离别钩 —提示(hints),Oracle很强大的工具,优化SQL的利器,能够强制SQL的执行算法,确保SQL按照我们希望的执行计划执行。钩,用的好伤人,用不好伤己,hints也如此。非高手者,非思路清晰者,且忌乱用,用不好的话,你会很受伤的。。。 为什么要用hints 为什么有了CBO仍然考虑用hints: RBO只看规则 CBO代价计算仍然有缺陷 不能考虑实际运行环境 什么时候用hints 首选用于测试执行计划 其次可用于在需求确定时,固化执行计划 常用的hints: FIRST_ROWS, ALL_ROWS ,RULE FULL(tab) INDEX( tab index ) NO_INDEX ( tab index ) USE_NL(tab) USE_MERGE(tab..) USE_HASH(tab1 tab2) 它很锋利,小心“伤人” 一些典型的hints 1 与Optimizer Mode优化模式相关: FIRST_ROWS, ALL_ROWS : 强制CBO RULE : 强制RBO 2 读取方式: CACHE(tab) : 将数据强制保留在数据缓存中,不受LRU的影响 NOCACHE(tab):重新回到正常的LRU管理队列中 FULL(tab) : 强制全表扫描 INDEX( tab index ) : 强制走索引 INDEX_ASC( tab index ) : 升序索引访问 INDEX_DESC( tab index ) : 降序索引访问 INDEX_FFS( tab index) : 强制快速索引扫描 NO_INDEX ( tab index) : 强制禁止某个索引的使用 INDEX_JOIN ( tab index) : 强制索引联合查询 INDEX_COMBINE( tab index) : 强制使用位图索引 INDEX_SS ( tab index) : 强制跳跃式索引扫描 3 表连接顺序: ORDERED : 按照FROM中表名顺序连接 LEADING: 将选择的表作为连接驱动表. 一些典型的hints 4 连接: USE_NL(tab) / NO_USE_NL(tab) :Use table tab as the driving table in a Nested Loops join. If the driving row source is a combination of tables name one of the tables in the inner join and the NL should drive off the entire row-source. Does not work unless accompanied by an ORDERED hint. USE_MERGE(tab..) / NO_USE_MERGE(tab..) :Use tab as the driving table in a sort-merge join. Does not work unless accompanied by an ORDERED hint. USE_HASH(tab1 tab2)/ NO_USE_HASH(tab1 tab2) :Join each specified table with another row source with a hash join. tab1 is joined to previous row source using a hash join. (=7.3) 5 并行查询选项: PARALLEL ( table, degree [, instances] ) / NO_ PARALLEL (table) : Use parallel degree / instances as specifi
文档评论(0)