Anzahl Datensätze in internen Tabellen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
29 Beiträge • Vorherige Seite 2 von 2 (current)
29 Beiträge Vorherige Seite 2 von 2 (current)

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Was für Tabellen? Standard? Sortiert? Schlüssel!


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Anzahl Datensätze in internen Tabellen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ralf.wenzel hat geschrieben:Was für Tabellen? Standard? Sortiert? Schlüssel!
Häh?

Siehe Beispielcode...!

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Ah, OK. Sorry, auf dem iPhone ist das alles superklein.

Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Anzahl Datensätze in internen Tabellen

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
ewx hat geschrieben:Ich habe noch mal den Vorschlag von Tron verwendet (zwei LOOPs mit WHERE anstelle ein LOOP mit CASE).
Diese Variante ist tatsächlich noch schneller, als LOOP-CASE...
Das überrascht mich tatsächlich, denn ich hätte gedacht, dass ein LOOP immer besser ist, als zwei...
Könnte es sein, dass hier tatsächlich mal der Feldtransport in die Workarea den Ausschlag gibt? Wie sieht denn der Vergleich 1 Loop vs. 2 LOOPs mit WHERE aus, wenn du statt INTO workarea ASSIGNING <fieldsymbol> machst.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Ich weiß nicht mehr, in welchem Buch ich das gelesen habe, aber irgendwo stand, dass es diesen Feldtransport schon lange nicht mehr gebe (Lazy Copy / Copy on write).

Auf der anderen Seite beobachte ich Laufzeitunterschiede zwischen INTO und ASSIGNING. Ich hatte leider nie Zeit, das tiefer zu erforschen.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
black_adept hat geschrieben:
ewx hat geschrieben:Wie sieht denn der Vergleich 1 Loop vs. 2 LOOPs mit WHERE aus, wenn du statt INTO workarea ASSIGNING <fieldsymbol> machst.
Hmmm. also irgendwie sieht das Ergebnis anders aus, als gestern.

Allerdings habe ich meine Lösung mit REDUCE und Haubis mit FILTER durcheinander bekommen... :/
Haubis Lösung ist schneller!

2xLOOP+WHERE ist heute langsamer, als 1xLOOP+CASE...

Am schnellsten ist heute 1xLOOP+CASE mit Feldsymbolen.
Muss ich nächsten Mittwoch noch mal erneut testen... :D

100.000 Einträge

Code: Alles auswählen.

Call M. HELP=>P01_REDUCE	61.578
Call M. HELP=>P02_FILTER	38.791
Call M. HELP=>P04_LOOP_WHERE	21.527
Call M. HELP=>P03_LOOP_CASE	13.928
Call M. HELP=>P06_LOOP_WHERE_FS	13.008
Call M. HELP=>P07_LOOP_WHERE_NO	11.862
Call M. HELP=>P05_LOOP_CASE_FS	  7.847
1.000.000 Einträge

Code: Alles auswählen.

Call M. HELP=>P01_REDUCE	611.069
Call M. HELP=>P02_FILTER	438.324
Call M. HELP=>P04_LOOP_WHERE	205.884
Call M. HELP=>P03_LOOP_CASE	156.213
Call M. HELP=>P06_LOOP_WHERE_FS	147.022
Call M. HELP=>P07_LOOP_WHERE_NO	126.656
Call M. HELP=>P05_LOOP_CASE_FS 	77.176

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Mit Verwendung einer SORTED TABLE sieht das ganze auch wieder anders aus (100.000 Datensätze):

Code: Alles auswählen.

Call M. HELP=>P02_FILTER	139.923
Call M. HELP=>P01_REDUCE	107.003
Call M. HELP=>P03_LOOP_CASE	 48.309
Call M. HELP=>P04_LOOP_WHERE	 35.344
Call M. HELP=>P05_LOOP_CASE_FS	 27.158
Call M. HELP=>P06_LOOP_WHERE_FS	 22.069
Call M. HELP=>P07_LOOP_WHERE_NO  21.294

Code: Alles auswählen.

TYPES:
      ltt_names TYPE SORTED TABLE OF lst_names
                  WITH NON-UNIQUE KEY name
                  WITH NON-UNIQUE SORTED KEY key_tf COMPONENTS tf.

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
P07_LOOP_WHERE_NO ist die Lösung mit zwei LOOPS und dem Zusatz TRANSPORTING NO FIELDS

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
abuma


Re: Anzahl Datensätze in internen Tabellen

Beitrag von ibo (ForumUser / 67 / 35 / 9 ) »
Hallo Experte,

ich habe mir auch die Lösung unter diesem Link angeschaut.

Ich hätte auch eine Lösung,

warum macht man nicht so:

Data: lt_names_tmp like lt_names.
Data: l_Anzahl type i.

lt_names_tmp = lt_names.
Delete lt_names_tmp where tf = abap_true.
describe TABLE lt_names_tmp LINES anzahl.


lt_names_tmp = lt_names.
Delete lt_names_tmp where tf = abap_false.
describe TABLE lt_names_tmp LINES anzahl.

Das ist ja langsam ;)

Gruß
Ibo
Zuletzt geändert von ibo am 21.06.2018 10:51, insgesamt 1-mal geändert.

Re: Anzahl Datensätze in internen Tabellen

Beitrag von ibo (ForumUser / 67 / 35 / 9 ) »
Hallo,

ich habe auch getestet und das Ergebnis lautet:
abap740.JPG

Code: Alles auswählen.

	22.228	 Call M. HELP=>P07_LOOP_WHERE_NO
	23.069	 Call M. HELP=>P06_LOOP_WHERE_FS
	30.696	 Call M. HELP=>P04_LOOP_WHERE
	33.123	 Call M. HELP=>P05_LOOP_CASE_FS
	38.863	 Call M. HELP=>P02_FILTER
	40.511	 Call M. HELP=>P03_LOOP_CASE
	87.286	 Call M. HELP=>P01_REDUCE

Am schnellsten ist heute HELP=>P07_LOOP_WHERE_NO

Code: Alles auswählen.

    LOOP AT names TRANSPORTING NO FIELDS WHERE tf = abap_true.
      ADD 1 TO lv_true.
    ENDLOOP.
    LOOP AT names TRANSPORTING NO FIELDS WHERE tf = abap_false.
      ADD 1 TO lv_false.
    ENDLOOP.

Viele Grüße
Ibo

Folgende Benutzer bedankten sich beim Autor ibo für den Beitrag (Insgesamt 2):
ewxralf.wenzel


Re: Anzahl Datensätze in internen Tabellen

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Jetzt wäre beim LOOP AT .... WHERE noch interessant der Vergleich Standard vs. Sortierte Tabelle mit Schlüssel ;)


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Anzahl Datensätze in internen Tabellen

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Vor allem aber würde mich interessieren, weshalb ibo einen über ein Jahr alten Thread wieder ausgegraben hat, um dafür unmotiviert eine weitere Lösung anzubieten.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ibo


Re: Anzahl Datensätze in internen Tabellen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »

Code: Alles auswählen.

                    Sorted  Standard
P01_REDUCE          96.942   77.860
P02_FILTER         132.654   39.183
P03_LOOP_CASE       37.260   33.904
P04_LOOP_WHERE      31.183   28.029
P05_LOOP_CASE_FS    27.916   25.143
P06_LOOP_WHERE_FS   22.112   19.166
P07_LOOP_WHERE_NO   21.387   17.948
und nein, ich habe die Werte Sorted und Standard nicht verwechselt... ;)


Vergleichbare Themen

2
Antw.
1704
Views
Maximale Anzahl Datensätze im Grid
von ewx » 27.08.2015 19:17 • Verfasst in ABAP® Core
2
Antw.
1844
Views
Bestimmte Anzahl Datensätze in ITAB schreiben für Anzeige.
von Mavrix » 18.01.2007 15:32 • Verfasst in ABAP® für Anfänger
4
Antw.
3729
Views
Anzahl Zeilen in einer internen Tabelle
von Otscho » 31.07.2007 12:59 • Verfasst in ABAP® für Anfänger
2
Antw.
1949
Views
Tabellen, Speicherplatz und gelöschte Datensätze
von herr mb » 12.08.2013 10:24 • Verfasst in ABAP® für Anfänger
2
Antw.
25248
Views
Anzahl Zeilen einer internen Tabelle mit Lines
von Tanriverdi » 05.09.2008 11:35 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von tar 8 / 188
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von tar 8 / 188
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822