Verschlechterte Leistung einer Abfrage nach dem Hinzufügen von Index

Ich habe eine Abfrage, welcher Teil eines SP ziemlich regelmäßig ausgeführt wird, und die Ausführung der Abfrage hat eine Weile gedauert, daher habe ich beschlossen, sie mir anzusehen. Ich habe eine automatische Verfolgung für die Abfrage durchgeführt, undDas war die Hinrichtung Plan zurückgegeben [wegen zu großer Größe im Pastebin eingefügt]

Ich fügte Indizes zu den Tabellen hinzu, auf die der vollständige Tabellenzugriff ausgeführt wurde, und führte die Abfrage aus. Die Abfrageleistung war trotz der schlechter als zuvordie Kosten sind erheblich niedriger.

Warum ist das so, kann jemand ein Licht auf dasselbe werfen?

Die Datenbank ist ein Oracle 10gR2 (Release 10.2.0.1.0).

Dies ist die Abfrage, die ausgeführt wird

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;

Antworten auf die Frage(7)

Ihre Antwort auf die Frage