Danke, aber !


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von Andreas on Dezember 10, 2002 um 10:04:

Als Antwort auf Re: Was mache ich falsch ? geschrieben von U. Mayer on Dezember 09, 2002 um 15:00:

Guten Morgen !

Die Antwort macht mich nicht so wirklich glücklich. Das bedeutet ja, dass ich die Abfrage besser im Programm aufteilen kann und dem DB2 die Arbeit abnehme. Aber wofür habe ich dann eine teure Datenbank mit Optimizer ????
Hier noch ein weiteres Problem mit der Antwortzeit.

Bei der Anwendung handelt es sich um eine Betriebsdatenbank mit besagten 8.2 Millionen Datensätzen. Über eine Suchmaske sollen Betriebe herausgefiltert werden. Das ganze geschieht mittels einer Java-Anwendung auf Windows NT über JDBC auf eine OS390/DB2 Version 6.
Eine Anforderung ist es die bisher bearbeiteten Betriebe herauszusuchen, wobei gleichzeitig weitere Suchkriterien vorgegeben werden können.(Name,Strasse,Ort,PLZ usw.) Ich habe eine extra Tabelle(SYBIS18) angelegt in der diese abgelegt werden.
Hier nun das SQL:
SELECT RBIS01_NA FROM SYBIS18,SYBIS01 WHERE
RBIS18_BBNR = SYBIS01_BBNR AND
RBIS01_NA1IX LIKE 'HEINZ%';

Es befinden sich in der SYBIS18 ca. 10.000 Betriebe, Je ein Index auf RBIS01_BBNR,RBIS18_BBNR,RBIS01_NA1IX.

Meine Hoffnung war das zuerst der Join ausgeführt wird und nur bei diesen Betrieben die zusätzliche Bedingung überprüft wird. Hier der EXPLAIN:
Subquery 1, Step 1
0 First Table F536.TBBIS01 (2)
I By Index F536.IXBIS0102
------------------- ----------------
Subquery 1, Step 2
1 Nested Loop Join F536.TBBIS18 (1)
I By Index F536.IXBIS1801

Processor Processor
Milliseconds Service Units
============ =============
1 3

Auf die 190 Datensätze warte ich diesmal ca 4 Minuten. Kann ich doch keinem als Online-Anwendung zumuten. Muss ich hier die Abfrage auch wieder im Programm splitten, oder kann ich dem DB2 irgendwie auf die Sprünge helfen ??


Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]