oracle执行计划中cost, card的含义

card是指计划中这一步所处理的行数。cost指cbo中这一步所耗费的资源,这个值是相对值。bytes指cbo中这一步所处理所有记录的字节数,是估算出来的一组值。 http://blog.itpub.net/post/385/45197



■ 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中这一步所耗费的资源,这个值是相对值。

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

 

转自:http://blog.itpub.net/post/385/45197

 

用PL/SQL查看SQL语句执行计划

 

一般通过很多工具可以看PL/SQL的执行计划来分析语句性能。

这里介绍通过PL/SQL查看sql执行计划的几种方法:

方法一. Set AutoTrace on;
       然后当执行你的sql语句的时候,执行计划自动显示出来。
       不想看执行计划了,set autoTrace off;
方法二.执行语句: explain plan for [你的sql语句]
   比如: explain plan for select * from table1
   然后 执行:select * from table(DBMS_XPLAN.DISPLAY)就可以看到它的执行计划了。

方法三: 类似方法二,前一句sql不变,第二句改为下面sql同样可以显示执行计划(原理一样):
     select plan_table_output from table(dbms_xplan.display('plan_table',null,'serial'));

 

后面两种方法都是通过dbms_xplan包里的display表功能来获得最近的执行计划。

 

另外在sql*plus里用set timing on查看sql执行时间。

 

参考:

http://www.oracle-base.com/articles/8i/ExplainPlanUsage.php

http://www.oracle-base.com/articles/9i/DBMS_XPLAN.php

http://www.orafaq.com/node/1420

http://blog.csdn.net/e3002/archive/2007/09/10/1778821.aspx

转自:http://jake007.iteye.com/blog/290223

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值