Es werden viel zu viele (unnötige!!!) SELECT-Statements ausgeführt.

Prüfe mal, ob das folgende Statement das gleiche Ergebnis bringt und wenn ja, wie sich die Performance verhält.

Code:
Select A.MANDT, A.KUNNR, A.NAME1, A.NAME2, A.STRAS, A.ORT01, A.PSTLZ, A.LAND1, A.SORTL, 
       Coalesce(Min(Case When R3_User = '1' or (r3_user = ' ' and flgdefault = 'X') 
                         Then Tel_Number End), '') as Tel1,
       Coalesce(Min(Case When R3_User = ' ' and flgdefault = ' ' 
                         Then Tel_Number End), '') as Tel2,
       Coalesce(Min(Case When R3_User = '3' or (r3_user = '2' and flgdefault = 'X')
                         Then Tel_Number End), '') as Tel3,
       Coalesce(Min(Case When R3_User = '2' and flgdefault = ' ' 
                         Then Tel_Number End), '') as Tel4,
       Coalesce(Min(Case When FLGDEFAULT = 'X' 
                         Then SMTP_ADDR End), '') as EMail1,
       Coalesce(Min(Case When FLGDEFAULT = ' ' 
                         Then STMT_ADDR End), '') as EMail2
From R3P02Data.KNA1 left outer join R3P02Data.ADR2 b on b.ADDRNUMBER = ADRNR
                    left outer join R3P02Data.ADR6 c on c.ADDRNUMBER = ADRNR
Where  A.KUNNR < '0000999999' AND A.MANDT = '101' AND A.KUNNR <> '0000062871'
Group By A.MANDT, A.KUNNR, A.NAME1, A.NAME2, A.STRAS, A.ORT01, A.PSTLZ, A.LAND1, A.SORTL
Für eine akzeptable Performance sind auf alle Fälle Zugriffswege (Indices oder logische Dateien) für die jeweiligen Dateien über die Felder ADDRNUMBER, MANDT, KUNNR, ADRNR, R3_User, FLGDEFAULT erforderlich.

Birgitta