博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
阅读量:4957 次
发布时间:2019-06-12

本文共 1319 字,大约阅读时间需要 4 分钟。

■ Cost The cost assigned to each step of the query plan by the CBO. The CBO works by

generating many different execution paths/plans for the same query and assigns a cost to
each and every one. The query plan with the lowest cost wins. In the full outer join example,
we can see the total cost for this query is 10.
■ Card Card is short for Cardinality. It is the estimated number of rows that will flow out
of a given query plan step. In the full outer join example, we can see the optimizer expects
there to be 327 rows in EMP and 4 rows in DEPT.
■ Bytes The size in bytes of the data the CBO expects each step of the plan to return.
This is dependent on the number of rows (Card) and the estimated width of the rows.

·card是指计划中这一步所处理的行数。

·cost指cbo中这一步所耗费的资源,这个值是相对值,和cpu_cost、io_cost是有关系的。

参考《Apress.Troubleshooting.Oracle.Perforamnce》,chapter 4 system and object statistics。

cpu_cost=column_position*20(this formular is used to compute the cpu cost of accessing a column)

 

cost是由其他几个因素共同决定的,这里暂时不进行深入的研究。

一般情况下,在一张表只有一条记录的情况下,cpu_cost会有个初始值(常见的是2万多或3万多),随着记录的增加,cpu_cost也成比例的增加。

对于io_cost来说,如果访问的记录在一个db_block中,值是不变的。

·bytes指cbo中这一步所处理所有记录的字节数,是估算出来的一组值。

需要注意的是,在表记录数变更后,如果不执行DBMS_STATS.gather_table_stats统计的话,得到的cost等指标是不变的,也就是不准确的,只有重新统计一下表后,才能正确反应耗费的成本。

转载于:https://www.cnblogs.com/alex-blog/articles/2470806.html

你可能感兴趣的文章
孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库
查看>>
求一个字符串中最长回文子串的长度(承接上一个题目)
查看>>
简单权限管理系统原理浅析
查看>>
springIOC第一个课堂案例的实现
查看>>
求输入成绩的平均分
查看>>
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
scanf和gets
查看>>
highcharts 图表实例
查看>>
ubuntu下如何查看用户登录及系统授权相关信息
查看>>
秋季学期学习总结
查看>>
SpringBoot 优化内嵌的Tomcat
查看>>
【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
查看>>
宏定义
查看>>
ubuntu12.04 串口登录系统配置
查看>>
poj3061
查看>>