So, nochmal eine Frage
da die Performance auf die View unterirdisch langsam ist ist die neue Idee mit einzelnden, auf einander basierenden Abfragen, die Performance zu steigern.

Ist der folgende Denkansatz richtig?

Selektionsfelder aus mehr als 1 Datei
With a as (select f1, f2, f3 from datei1 where ...) (die Datei mit den wenigsten Sätzen)

Selektion mit mehr als 2 Dateien
b as (select f6, f4, f5 from datei2 inner join a on f1=f6 and f2 = f4 and f3 = f5 where ...)

...

Das alles in ein Statement
Wird dann 'intern' a durchgeführt und auf die ergebnismenge b

Bsp.:
Code:
with a as (
  SELECT susunr, susun2 
  from      DATEIA
  where   upper(SUNAme) like '%MÜLLER%' and upper(suort) like 'G%'),          
        b as (
   select azkey1, azkey2, azkey3, a.* 
   from   DATEIB inner join a on a.susunr=azsunr and a.susun2=azsun2),                              
        c as (
   select httext, b.* 
   from    DATEIC inner join b on htkey1=azkey1 and htkey2=azkey2 and htkey3=azkey3 
   where upper(httext) like '%123%')                 
select * from c
DATEIA 1.881.000 Sätze, davon 606 zu der selektion passend
DATEIB 2.590.000 Sätze, davon 839 zu der selektion passend
DATEIC 44.130.000 Sätze, davon 27.580 mit dem %123% und
9 Sätze die zu der gesammten selektion passen

Dauert 2 Minuten, 30 sekunden und ist somit unakzeptabel!

Ist die Zeit ok oder soll ich echt IBM einschalten?
LF für die Verknüpfung der Dateien untereinander sind vorhanden und werden auch verwendet, V7R1

Auf dateia und dateic liegen views mit zusätzlichen Feldern, upper(suname) upper(suort), upper(httext) und dazu gehörige indexe

Danke
Robi