Hallo allerseits!
Zitat Zitat von BenderD Beitrag anzeigen
... 2. Zweistufig arbeiten und im ersten Schritt ein Substrat ziehen (create table qtemp.ddd as (select ... from... !!! ohne order by!!!) und im zweiten Schritt select * from qtemp.ddd order by...)
hier stimme ich Dieter voll zu, das zweistufige Arbeiten hat mir auch schon deutlich Laufzeit gespart.
Ich mag allerdings dabei keine Objekte explizit erstellen, WITH ist mir sympatischer, und das geht auch mehrstufig:

Code:
with x as (
select IXFNAM, IXTEXT, IXRECL from matindex
where
      IXFNAM = 'DBTEXT'
  and IXTEXT =    'KUNDE'),
y as (SELECT
       'DBTEXT', PDPRN2, PDPRN3, PDKDK, PDMA, PDBTDT,
 rtrim(PDTXT1)||rtrim(PDTXT2)||rtrim(PDTXT3)||
 rtrim(PDTXT4)||rtrim(PDTXT5) as Txt
FROM DBTEXT right join x on IXRECL  = PDLFDN)
select  'DBTEXT', PDPRN2, PDPRN3, PDKDK, PDMA, PDBTDT, Txt
FROM y   order by pdbtdt
(Ich hoffe, die Syntax stimmt so...)

Hiermit erzwingt man, dass das Sortieren erst am Schluss gemacht wird, was manchmal sparsamer ist.
Würde mich interessieren, ob es hier auch hilft.

Ob der Right-Join hier Sinn macht usw. will ich gar nicht weiter ansprechen, das wurde ja schon diskutiert.

Gruß, Christian