Hello All,
I'm trying to optimize the following statement. May be somebody can help !
In the plan I can see that the composite index on (STARTZEIT, ENDEZEIT), WHY ???
SELECT TIMEVENT.TEILSCHICHT_ID AS TEILSCHICHTID,
TIMEVENT.CREATIONTIME AS EVENTTIMESTAMP,
EREIGNISERFASSUNG.EREIGNISCODE AS EREIGNISCODE,
EREIGNISERFASSUNG.EREIGNISCODEBESCHREIBUNG AS EREIGNISCODEBESCHREIBUNG,
EREIGNISERFASSUNG.EREIGNISBESCHREIBUNG AS EREIGNISBESCHREIBUNG ,
STANDORTERFASSUNG.STANDORTTYP AS STANDORTTYP,
STANDORTERFASSUNG.STANDORTBEZEICHNUNG AS STANDORTBEZEICHNUNG,
STANDORTERFASSUNG.DESCRIPTIONTEXT AS STANDORTDESCRIPTION
FROM EREIGNISERFASSUNG
JOIN TIMEVENT ON EREIGNISERFASSUNG.TIMEVENT_ID = TIMEVENT.ID
JOIN TEILSCHICHT ON TIMEVENT.TEILSCHICHT_ID = TEILSCHICHT.ID
JOIN TEILREGION ON TEILSCHICHT.TEILREGION_ID = TEILREGION.ID ,STANDORTERFASSUNG
WHERE TEILREGION.ID IN (6)
AND TEILSCHICHT.STARTZEIT >= to_date('01-10-2015', 'DD.MM.YYYY')
AND TEILSCHICHT.ENDEZEIT <= to_date('15-10-2015', 'DD.MM.YYYY')
AND STANDORTERFASSUNG.TIMEVENT_ID =
(SELECT MAX(s.TIMEVENT_ID)
FROM TIMEVENT te,
STANDORTERFASSUNG s
WHERE s.TIMEVENT_ID <EREIGNISERFASSUNG.TIMEVENT_ID
AND s.TIMEVENT_ID =te.ID
AND te.TEILSCHICHT_ID=TEILSCHICHT.ID
);
Here the plan

And least the indexes on Table TEILSCHICHT

Thanks