Index rebuild nur eine dummy-Funktion?
Folgender Fall: Eine Tabelle ist in einer Produktionsumgebung und einer Testumgebung angelegt. Im Produktionssystem sind 1,5Mio Zeilen enthalten, im Testsystem 150tsd. Im Produktionssystem werden alle Indizes wöchentlich per index rebuild neu aufgebaut und täglich analysiert(DBMS_STATSPACK). Folgende Abfrage führt auf beiden Systemen zu unterschiedlichen Ausführungsplänen: select count(*) from BDE_SORGFALT_QUALITAET where SOQU_LAGER = 8 and SOQU_PNR = 298622 and SOQU_DATUM >= 20060301 and SOQU_DATUM -> auf LIVE: FULL TABLE SCAN -> auf TEST: INDEX SCAN 1. Ansatz - Analysierung nicht mehr aktuell: neues analysieren mit DBMS_STATSPACK -> keine Änderung 2. Ansatz - fehlende "not null" Spalten: alter table BDE_SORGFALT_QUALITAET modify SOQU_LAGER not null; alter table BDE_SORGFALT_QUALITAET modify SOQU_PNR not null; alter table BDE_SORGFALT_QUALITAET modify SOQU_DATUM not null; -> gleiches Ergebnis 3. Ansatz - Index löschen und neu erstellen: DROP INDEX BDE.BD...