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
分享到:
相关推荐
在这里,我们可以看到,执行计划的成本(Cost)为 1234,这意味着 Oracle 数据库将使用基于成本的优化器(CBO)来优化查询语句。 复杂的例子 以下是一个复杂的执行计划: PARENT1 FIRST CHILD FIRST GRANDCHILD ...
执行计划的产生基于Oracle优化器对SQL语句的分析,以及对数据库中表和索引的统计信息的使用。执行计划包括了如访问路径(是全表扫描还是索引扫描),连接方法(如嵌套循环、哈希连接等),以及对数据操作的其他处理...
执行计划是指在Oracle数据库中执行SQL查询时所采用的数据访问路径。它详细描述了数据库如何处理查询请求,包括数据读取的方式、使用的索引以及连接操作等。执行计划对于理解查询性能至关重要,因为它直接影响到查询...
执行计划是Oracle数据库在执行SQL查询时所遵循的一系列步骤或操作的逻辑表示。它描述了数据从存储介质到查询结果的获取过程,包括全表扫描、索引查找等不同访问方法。Oracle通过解析查询语句,生成最佳的执行策略,...
### Oracle数据库执行计划详解 #### 一、执行计划概述 执行计划是指数据库处理SQL语句时所采取的具体步骤。在Oracle数据库中,当用户提交一个SQL查询时,并不会直接告诉数据库如何去执行这个查询,而是由数据库...
在Oracle中,可以通过多种方式查看SQL语句的执行计划。例如,使用`SET AUTOTRACE ON`命令可以在执行SQL语句时自动显示执行计划。下面是一个简单的例子: ```sql SQL> SET AUTOTRACE TRACEONLY SQL> SELECT COUNT(*)...
执行计划是Oracle优化器根据统计信息和优化算法生成的用于执行SQL语句的具体步骤说明,它决定了SQL语句如何访问数据库中的数据,如何执行join操作,以及如何返回查询结果。 ### 执行计划的重要性 执行计划贯穿于...
在 SQL 优化中,分析执行计划是一个非常重要的步骤。执行计划可以帮助我们了解 SQL 语句的执行过程、资源消耗和性能瓶颈。Oracle 数据库提供了多种方法来查看 SQL 语句的执行计划,例如使用 PL/SQL Developer、EM ...
3. **利用统计信息**:使用`DBMS_STATS`包收集统计信息,帮助优化器做出更好的执行计划选择。 #### 执行计划分析 执行计划对于理解查询的执行路径至关重要。下面是一个示例执行计划: ``` 0 SELECT STATEMENT ...
- **软解析**: 当相同的SQL语句再次执行时,可以从共享池中复用已有的执行计划。 - **硬解析**: 当SQL语句首次执行或无法找到可复用的执行计划时,则需要重新生成执行计划。 2. **优化程序**: 优化程序根据收集到...
从执行计划可以看到,Oracle选择了索引范围扫描的方式访问数据: ```sql 21 INDEX(RANGESCAN) OF 'INDX_T' (NON-UNIQUE) (Cost=2 Card=20) ``` 这是因为`object_type`是组合索引的第一列,因此可以有效地利用该...
7.在java中尽量使用preparestatement执行sql,从而共享执行计划" Q0032 Oracle的集合操作函数,如sum(),avg(),max(),min(),与select,where,grouby,having的先后顺序,使用方法 Oracle集合查询基本知识,只有进行...
8. 删除无用的索引,避免对执行计划造成负面影响 9. 让 SQL 语句用上合理的索引,合理让 SQL 语句使用索引的原则如下: 首先,看是否用上了索引,对于该使用索引而没有用上索引的 SQL 语句,应该想办法用上索引。...