2011-05-01 52 views
7

Soy un poco nuevo en Oracle y tengo una pregunta sobre el plan de explicación de Oracle. He utilizado la función 'auto-trace' para una consulta en particular.Costo total de una consulta a través del plan de explicación de Oracle

SQL> SELECT * from myTable; 11 filas seleccionadas. transcurrido: 00: 00: 00,01

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 | 
---------------------------------------------------------------------------- 

Mi pregunta es si quiero calcular el costo 'total' de esta consulta, que es 6 (3 + 3) o su único 3. Supongamos que tenía una más grande consulta con más pasos en el plan, ¿tengo que sumar todos los valores en la columna de costo para obtener el costo total o es el primer valor (ID = 0) que es el costo total de una consulta?

Respuesta

7

El costo es 3, el plan se muestra como una jerarquía, con el costo de los subcomponentes ya incluidos en los componentes principales.

+0

gracias por la rápida respuesta. – Maya

+0

mi placer Debo agregar que los costos parentales no son _just_ la suma de los costos secundarios, ya que la operación principal también tiene un costo no nulo. A menudo, ese costo es mínimo para muchos tipos de operaciones que no son hojas, por lo que aparece efectivamente como cero, como es el caso aquí. – BeeOnRope

Cuestiones relacionadas