- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle数据库优化器探秘 - 崔华
Oracle数据库优化器探秘
崔华(dbsnake)
About Me
• 中航信工程师
• Oracle ACE
• ACOUG成员
什么是Oracle里的优化器
• 优化器(Optimizer)是Oracle数据库中内置的一个核心
子系统,你也可以把它理解成是Oracle数据库中的一个核
心模块或者一个核心功能组件,优化器的目的是按照一定
的判断原则来得到它认为目标SQL在当前情形下最高效的
执行路径(Access Path),也就是说优化器的目的就是
为了得到目标SQL的执行计划
• 依据选择执行计划时所用判断原则的不同,Oracle数据库
里的优化器又分为RBO和CBO这两种类型
Oracle数据库里SQL语句的执行过程
Oracle数据库里SQL语句的执行过程-解析
• 语法检查
• 语义检查
• 查找Shared Cursor
查找Shared Cursor的过程
Oracle数据库里SQL语句的执行过程-如果找
到了Shared Cursor,优化器就可以滚粗了
Oracle数据库里SQL语句的执行过程-如果找
不到Shared Cursor,优化器这才粉墨登场
RBO的缺陷
• 选择执行计划时没有考虑目标SQL中所涉及到的各个对象
的数据量、数据分布,只根据内置规则来决定执行计划—
—一招鲜、吃遍天
• 执行计划一旦出了问题,我们很难对其做调整
• 目标SQL的写法、甚至是目标SQL中所涉及到的各个对象在
该SQL文本中出现的先后顺序和这些对象在数据字典缓存
中的缓存顺序都可能会影响RBO对于该SQL执行计划的选择
• Oracle数据库中很多很好的特性、功能均不能在RBO下使
用,因为它们均不被RBO所支持(例如哈希连接、函数索
引等)
CBO的局限
• CBO会默认认为目标SQL语句where条件中出现的各个列之间
是独立的,是没有关联关系的
• CBO会假设所有的目标SQL都是单独执行、并且是互不干扰的
• CBO对直方图统计信息有诸多限制:
-在Oracle 12c之前,Frequency类型的直方图所对应的Bucket
的数量不能超过254
-在Oracle数据库里,如果针对文本型的字段收集直方图统计
信息,则Oracle只会将该文本型字段的文本值的头32个byte给
取出来(实际上只取头15个byte)并将其转换成一个浮点数,
然后将该浮点数作为上述文本型字段的直方图统计信息存储在
数据字典里
• CBO在解析多表关联的目标SQL时,可能会漏选正确的执行计
划
CBO的优化方向
• 数据库的升级、统计信息的变更、CBO某些成本计算公式
的先天不足等因素都会导致目标SQL执行计划的变更——
这通常需要DBA来手工调整执行计划 (手工调整执行计划
太麻烦了,常常是按下了葫芦起了瓢),我们希望Oracle
数据库能自适应的自动调整不理想的执行计划,而且最好
是一旦发现苗头不对,马上调整!
• 自适应查询优化
• 突破现有限制、持续优化已有功能
Oracle 12c的自适应查询优化
Automatic Reoptimization
包括Statistics feedback
和Performance feedback
自适应执行计划之Adaptive Join Methods
• 初始表连接方法还是和原先一样:取决于现有的统计信息
• 最后采用的表连接方法直到目标SQL执行过程中才会确定
• 执行计划中多了一个组件:Statistic collector,最后
采用的表连接方法依赖于目标SQL执行过程中statistics
collector收集到的运行时统计信息
• 需要在一定程度上缓存目标S
您可能关注的文档
- lng}~ 基€i震长周期地震作用效应я析 - 地震工程与工程振动.pdf
- 利物浦大学工程学院 - lasers and laser engineering.pdf
- mapefloor i 900 马贝地坪i 900.pdf
- 半导体激光阵列光谱压窄及光束整形技术研究 - 激光与红外.pdf
- mabr简介 - 天津大学研究生e-learning平台.ppt
- soopat 用悬浮热解装置处理褐煤制备半焦、焦油和煤气的方法.pdf
- medinfo2017 招商手册-cn(pdf文件).pdf
- 生物信息学的发展历程 - ok.ppt
- 新型纺纱与纱线设计.ppt
- 第1章 微观经济学导论:原理与问题.ppt
- 岸基供电系统 第4部分:工频电源.pdf
- 人教版八下英语Unit 5 What were you doing when the rainstorm came_测试卷.docx
- 热带作物品种区域试验技术规程 木薯.pdf
- 草原防火阻隔带建设技术规程.pdf
- 渔用气胀救生筏技术要求和试验方法-.pdf
- 浙江省杭州市2024-2025学年八年级下学期期中考试英语试卷(含答案).docx
- 重庆市渝北区六校联盟2024-2025学年九年级下学期期中教学大练兵语文试卷.docx
- 食品安全-花椒籽油 (2).pdf
- 2025年海博思创分析报告:储能集成“小巨人”,国内外业务进展可期.pdf
- 地理标志产品 宽城板栗.pdf
最近下载
- 毕业设计(论文)-徐州某小区1#住宅楼工程工程量清单与招标控制价的编制.docx
- 南山森林抚育补贴试点项目作业设计.pdf VIP
- 2022年北京市自来水集团有限责任公司校园招聘考试笔试试题及答案解析.pdf VIP
- 全国《职业教育》专业知识(重点)考试题库(300题).docx
- 青春期男女生交往.pptx
- 北京市自来水集团有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及参.docx VIP
- 物理专业英语词汇.pdf
- 简易装修合同电子版3篇 .pdf VIP
- 瓦楞纸箱印刷过程中的质量控制.pdf
- GB∕T 35379-2017 木门分类和通用技术要求(高清版).pdf
文档评论(0)