Hi
ich habe folgenes select im interaktiven SQL abgesetzt, es ist rasend schnell
Code:
select 'K1',susunr, susun2, case                           
when length(replace(replace(sukto1, '-', ''), ' ', ''))=9 
then '0' concat replace(replace(sukto1, '-', ''), ' ', '')        
when length(replace(replace(sukto1, '-', ''), ' ', ''))=8         
then '00' concat replace(replace(sukto1, '-', ''), ' ', '')       
when length(replace(replace(sukto1, '-', ''), ' ', ''))=7         
then '000' concat replace(replace(sukto1, '-', ''), ' ', '')      
when length(replace(replace(sukto1, '-', ''), ' ', ''))=6        
then '0000' concat replace(replace(sukto1, '-', ''), ' ', '')    
when length(replace(replace(sukto1, '-', ''), ' ', ''))=5        
then '00000' concat replace(replace(sukto1, '-', ''), ' ', '')   
when length(replace(replace(sukto1, '-', ''), ' ', ''))=4        
then '000000' concat replace(replace(sukto1, '-', ''), ' ', '')  
when length(replace(replace(sukto1, '-', ''), ' ', ''))=3        
then '0000000' concat replace(replace(sukto1, '-', ''), ' ', '') 
else replace(replace(sukto1, '-', ''), ' ', '')                  
end as kto,                                                        
       replace(replace(sublz1, '-', ''), ' ', '') as blz           
                      from schulp where sukto1 <> ' '
 union all                                                         
 select 'K2',susunr, susun2, case                                  
when length(replace(replace(sukto2, '-', ''), ' ', ''))=9        
then '0' concat replace(replace(sukto2, '-', ''), ' ', '')       
when length(replace(replace(sukto2, '-', ''), ' ', ''))=8        
then '00' concat replace(replace(sukto2, '-', ''), ' ', '')      
when length(replace(replace(sukto2, '-', ''), ' ', ''))=7        
then '000' concat replace(replace(sukto2, '-', ''), ' ', '')     
when length(replace(replace(sukto2, '-', ''), ' ', ''))=6       
then '0000' concat replace(replace(sukto2, '-', ''), ' ', '')   
when length(replace(replace(sukto2, '-', ''), ' ', ''))=5       
then '00000' concat replace(replace(sukto2, '-', ''), ' ', '')  
when length(replace(replace(sukto2, '-', ''), ' ', ''))=4       
then '000000' concat replace(replace(sukto2, '-', ''), ' ', '') 
when length(replace(replace(sukto2, '-', ''), ' ', ''))=3       
then '0000000' concat replace(replace(sukto2, '-', ''), ' ', '')
else replace(replace(sukto2, '-', ''), ' ', '')                 
end as kto,                                                   
       replace(replace(sublz2, '-', ''), ' ', '') as blz      
                      from schulp where sukto2 <> ' '
Ich 'normalisiere' das Feld KontoNr ( eine alpha Feld )
auf 10 Stellen mit führender 0, ohne blank und -
Da in der Datei 2 KontoNr sind, hänge ich die 2. Nr
einfach dahinter.

Erstelle ich damit eine View und mache ein
Select * from view
warte ich über eine Stunde auf die Anzeige.
Interactiv im SQL, ohne View, habe ich sofort ein Bild.
Auch ein LF (Index) über SUKTO1, SUBLZ1 bringt nix (auch SUKTO2 SUBLZ2)

Muß ich nun die Daten doch physikalisch kopieren
um schnell mit meiner Kontonr einen Debitor zu finden?

Wie kann ich das beschleunigen ?
V5R4, ca 1,25 Mio Debitoren
Danke
Robi