Sql 通过Oracle的解释计划进行查询的总成本
我对甲骨文有点陌生,我对甲骨文的解释计划有疑问。我对一个特定的查询使用了“自动跟踪”功能 SQL>从myTable中选择*; 选择11行。 已过时间:00:00:00.01Sql 通过Oracle的解释计划进行查询的总成本,sql,database,oracle,oracle11g,Sql,Database,Oracle,Oracle11g,我对甲骨文有点陌生,我对甲骨文的解释计划有疑问。我对一个特定的查询使用了“自动跟踪”功能 SQL>从myTable中选择*; 选择11行。 已过时间:00:00:00.01 Execution Plan ---------------------------------------------------------- Plan hash value: 1233351234 ------------------------------------------------------------
Execution Plan
----------------------------------------------------------
Plan hash value: 1233351234
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 11 | 330 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| MYTABLE| 11 | 330 | 3 (0)| 00:00:01 |
----------------------------------------------------------------------------
我的问题是,如果我想计算这个查询的“总”成本,是63+3还是只有3。假设我有一个更大的查询,计划中的步骤更多,我是否必须将成本列中的所有值相加以获得总成本,还是第一个值ID=0是一个查询的总成本?成本为3,计划显示为一个层次结构,由于子组件的成本已经包含在父组件中。您可能还需要查看以下部分的响应:
我很高兴我应该补充一点,因为父操作也有一些非零成本,所以父操作成本不仅仅是子操作成本的总和。通常,对于许多类型的非叶操作来说,该成本是最小的,因此它实际上看起来是零,这里就是这样。