Skip to main content

Command Palette

Search for a command to run...

Vistas Máximas Ineficientes – Cap.1

Updated
1 min read
Vistas Máximas Ineficientes – Cap.1
D

Ingeniero informático, Oracle ACE, DBA y Arquitecto OCI, con más de 15 años de experiencia en plataformas Oracle. Certificado en OCI Certified Architect Professional y OCI Migration and Integration Certified Professional.

Vamos analizar el motivo de porque la respuesta de una vista máxima para un día tarda 8' en dar una respuesta cuando debería ser inmediata.

Lo primero que vamos a hacer es generar el tkprof para un día. En el tkprof vamos a ver la carga de cada paso del row source “Row Source Generator” y vamos a poder determinar qué está sucediendo internamente en el tiempo de ejecución de este select.

Analizando la consulta, vemos que tarda en dar respuesta 8,6 segundos

Analizando en detalle el tkproff vemos la siguiente operación del row source que llama la atención:

Esta operación del row source es la que realmente más consume, con más de 300.000 bloques leídos en memoria. Otro punto más que nos llama la atención de este cruce es el tiempo.

Si miramos el árbol de ejecución, vemos que ese salto tanto en bloques leídos como en tiempo de ejecución se produce en la cláusula exists

¡Modificamos la clausula y la consulta vuela!

Corrigiendo ese acceso se ha bajado de 8'' a una respuesta inmediata.