Explain Plan
Oracle dispone de una herramienta (Explain plan) que permite al administrador de la base de datos comprobar como se ejecutará una determinada consulta, es decir, podemos saber, por ejemplo, si se accederá al índice de una determinada tabla o por el contrario se recorrerá la tabla entera.
Esta es la sintaxis general: EXPLAIN PLAN [SET STATEMENT_ID = ‘text’] FOR sentencia; Ejemplo:
DELETE PLAN_TABLE;
EXPLAIN PLAN FOR SELECT * FROM T_PEDIDOS WHERE CODPEDIDO = 5;
Para ver el resultado:
SELECT
SUBSTR(LPAD’ ‘, LEVEL-1) || OPERATION || ‘ (’ || OPTIONS || ‘)’,1,30 ) "OPERACION",
OBJECT_NAME "OBJETO"
FROM PLAN_TABLE
START WITH ID = 0
CONNECT BY PRIOR ID=PARENT_ID;
Sobre todo hay que evitar búsquedas del tipo FULL TABLE SCAN.
