Degradado rendimiento de una consulta después de agregar índice
Tengo una consulta que parte de un SP que se ejecuta con bastante regularidad, y la consulta tardó un poco en ejecutarse, así que decidí echarle un vistazo. Hice un autotrace en la consulta, yesta fue la ejecución plan devuelto [pegado en pastebin debido a tamaño excesivo]
Agregué índices en las tablas que estaban en acceso completo a la tabla y ejecuté la consulta. El rendimiento de la consulta fue peor que antes, a pesar de lasiendo el costo significativamente más bajo.
¿Por qué esto es así, puede alguien arrojar una luz sobre lo mismo?
La base de datos es un Oracle 10gR2 (versión 10.2.0.1.0).
Esta es la consulta que se está ejecutando.
SELECT DISTINCT CAC_FLEX_03, CAC_FLEX_04
FROM PCOM_CUST_PRACTICE_INFO A,
PGIM_ZIP_CODES C,
PGIM_PROD_TARIFF_DATA B,
PCOM_CODES_APPL_CODES D
WHERE A.PCPI_CUST_CODE IN ('002023', '002025')
AND C.ZC_ZIP_CODE = A.PCPI_PIN_CODE
AND C.ZC_CITY_CODE = A.PCPI_CITY
AND C.ZC_COUNTY_CODE = A.PCPI_COUNTY
AND C.ZC_STATE_CODE = A.PCPI_STATE
AND B.PTD_CVR_CODE = 'TF-001'
AND B.PTD_VALUE_SET2 = A.PCPI_STATE
AND B.PTD_VALUE_SET4 = A.PCPI_COUNTY
AND B.PTD_VALUE_SET5 = D.CAC_FLEX_03
AND D.CAC_FLEX_04 IS NOT NULL
AND ZC_STATE_CODE =
(SELECT POL_FLEX_04
FROM PGIT_POLICY
WHERE POL_SYS_ID = 541332)
AND B.PTD_VALUE_SET3 =
(SELECT POL_FLEX_01
FROM PGIT_POLICY
WHERE POL_SYS_ID = 541332)
AND CAC_TYPE = 'TERR-CODE'
AND CAC_FLEX_03 = 0;