La tabla de tipos de llamada suma las llamadas de la sesión por tipo, como el total de tkprof: cuántas hubo, cuánto tiempo tardaron, cuánto leyeron y cuántas filas trajeron.
Qué muestra la sección
La sección Tipos de llamada tiene una fila para cada tipo de llamada del trace: PARSE, EXEC, FETCH, CLOSE y, cuando aparecen, UNMAP, SORT UNMAP y las llamadas de LOB, como LOBREAD. Cada fila suma todas las llamadas de ese tipo, las de la aplicación y las del SQL recursivo. El orden es por duración, de la mayor a la menor.
Cómo leerla
| Columna | Qué indica |
|---|---|
| Llamada | El tipo de llamada. |
| Cantidad | Cuántas llamadas de ese tipo tiene el trace. |
| CPU (s) | La suma de c=. |
| Duración (s) | La suma de e=. |
| Disco (PIO) | Bloques leídos del disco (p=). |
| Consistente (CR) | Lecturas lógicas en modo consistente (cr=), las de las consultas. |
| Actual (CU) | Lecturas lógicas en modo actual (cu=), típicas de DML. |
| Filas | Filas devueltas o procesadas (r=). |
| Misses | Fallos en la library cache (mis=). En el PARSE, cada miss es un hard parse. |
La duración de una llamada que disparó SQL recursivo ya contiene la de las llamadas hijas, que también entran en su propia fila. Con SQL recursivo, la suma de Duración (s) cuenta ese tiempo dos veces y puede superar el tiempo total. Para repartir el tiempo sin contarlo dos veces, use el perfil.
En el informe de ejemplo, la fila FETCH tiene 2 llamadas, una de la sentencia #1 y una de la recursiva #2, con 2 bloques leídos del disco, 13 lecturas consistentes y 2 filas. La fila PARSE tiene 1 llamada con 1 miss: un hard parse.
Cuándo preocupa
- PARSE con Misses cerca de Cantidad: casi todo PARSE es hard parse. Cuando los hard parses pesan en la sesión, el Diagnóstico muestra muchos hard parses, con el enlace Ver tipos de llamada o, si hay sentencias que solo difieren en los literales, Ver textos compartibles.
- FETCH con Filas poco por encima de Cantidad: cada llamada trae pocas filas. El hallazgo muchos FETCH con pocas filas mira solo los FETCH de nivel 0, los de la aplicación; esta tabla suma también los del SQL recursivo.
- PARSE con Cantidad cerca de la de EXEC: el cursor se abre en cada ejecución. El detalle de cada sentencia muestra cuál (un PARSE en cada ejecución).
- CPU del FETCH alta, con Consistente (CR) muy por encima de Filas: demasiadas lecturas lógicas, en general un plan que lee bloques que no necesita.
Adónde ir después
- Tipos de llamada del informe de ejemplo.
- Distribución de latencia, con la tabla de la duración de cada tipo de llamada, como FETCH (duración e de la llamada).
- Detalle de la sentencia, con las mismas columnas para una sola sentencia.