`EXPLAIN PLAN` es una herramienta en Oracle que te permite ver cómo la base de datos planea ejecutar una consulta. Puedes usarla para verificar si la consulta está utilizando índices y optimizar su rendimiento. Aquí tienes los pasos básicos:
1. Configurar la salida:
- Primero, asegúrate de tener una tabla llamada `PLAN_TABLE` en tu esquema. Esta tabla almacena los resultados de `EXPLAIN PLAN`.
- Puedes crearla con el siguiente comando si no existe:
sql
@?/rdbms/admin/utlxplan.sql
2. Ejecutar `EXPLAIN PLAN`:
- Usa `EXPLAIN PLAN FOR` seguido de la consulta que quieres analizar.
```sql
EXPLAIN PLAN FOR
SELECT NVL(SUM(o.ncanprest), 1) AS can
FROM fact_grl f, ord_hist o
WHERE f.nfacgrl = o.nfacgrl
AND f.ncodosoc = 1
AND TRUNC(o.dfec_pre) BETWEEN :FecIni AND :FecFin;
3. Ver el plan de ejecución:
- Luego, consulta el plan con el siguiente comando:
```sql
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY());
```
- Este comando muestra el plan de ejecución en un formato legible.
4. Interpretar el resultado:
- Observa los valores en la columna `Operation` para ver las acciones realizadas (como "TABLE ACCESS FULL" o "INDEX RANGE SCAN").
- Si ves "TABLE ACCESS FULL", Oracle está realizando un escaneo completo de la tabla, lo que suele ser menos eficiente.
- Si ves "INDEX RANGE SCAN" o "INDEX UNIQUE SCAN", la consulta está utilizando un índice, lo cual es generalmente más eficiente.
Este análisis te permitirá ver si Oracle utiliza el índice y cómo está accediendo a los datos, ayudándote a ajustar la consulta o los índices según sea necesario.
No hay comentarios:
Publicar un comentario