优化器(Optimizer)
一、Query Transformer(语句转换)
详细见博文:
二、Estimator(评估)
评估衡量类型:谓语的选择,基数,成本(I/O、CPU和内存)
评估所需要的统计数据有:
1.表统计信息:行数,数据块数,行的平均长度;
2.列统计信息:列值的基数,NULL值的数量,数据的分布;
3.索引统计信息:leaf block 的数量,索引的level;
4.系统统计信息:CPU和I/O性能与功能;
三、Plan Generator(计划生成)
优化器会为每个嵌套子语句和没有合并的视图独自产生一个子执行计划。优化器会根据不同的访问路径、连接方法、连接顺序产生多个不同的执行选取成本最低的执行计划。
优化器用SPM来自动管理执行计划。如果新产生的执行计划比检验过的执行计划要好,则SPM会把该新产生的执行计划转化为已经检验过的执行计划。优化器只会使用经过检验的执行计划。
可以使用EXPLAIN PLAN和SQL*PLUS中的AUTOTRACE、oracle enterprise manager来查看执行计划。
四、优化器的任务
■ Evaluation of expressions and conditions
■ Inspection of integrity constraints to lear n more about the data and optimize based on this metadata
■ Statement transformation
■ Choice of optimizer goals
■ Choice of access paths
■ Choice of join orders
---------------------------------------------------------------------------------------------------
如有错误,欢迎指正
技术交流QQ:1732035211
技术交流邮箱:1732035211@qq.com
新浪微博:数据库小菜鸟http://weibo.com/u/3132578390