Code: Alles auswählen.
SELECT COUNT( DISTINCT kunnr ) [b]from itab [/b]into table itab2
Code: Alles auswählen.
LOOP AT it_table1 ASSIGNING <ls_line1>.
* Entweder geschachtelter LOOP ...
LOOP AT it_table2 ASSIGNING <ls_line2> WHERE id = <ls_line1>-id.
* Gewünschte Verarbeitung
ENDLOOP.
* ... oder Einzelsatz lesen
READ TABLE it_table2 ASSIGNING <ls_line2> WITH KEY id = <ls_line1>-id.
IF sy-subrc EQ 0.
* Gewünschte Verarbeitung
ENDIF.
ENDLOOP.
Habt Ihr den Grund für den schlechten Join im Q ermittelt (SQL-Trace)? Da der Join über die Primärschlüssel beider Tabellen geht, sollte er eigentlich sehr performant ausgeführt werden. Wenn es an der Datenmenge liegt, sollten zwei einzelne Selects mit anschließender Verarbeitung per LOOP/READ auch nicht viel schneller sein.HstFS23 hat geschrieben:Ein Join ist ab Q nicht mehr peformant (beim Testen alles wunderbar).