Hilfe bei Select-Optimierung

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Hilfe bei Select-Optimierung

Beitrag von Troilus (ForumUser / 38 / 0 / 0 ) »
Hallo,
ich habe ein Problem mit einem großen Select von mir. Ich dachte bislang optimaler Weise alles per JOINS zu realisieren, jedoch habe ich jetzt bei ein SELECT so ziemlich mies umgesetzt. Die Antwortzeit bei 10.000 Einträgen in der MARA liegt bei 3-5 Minuten. Hier der SELECT:

Code: Alles auswählen.

*   es werde nur Materialenarten die in der ZLO_INTMM_MTART definiert sind gesammelt
*   ( + die, die über Parameter eingeschränkt wurden)
    SELECT a~matnr b~ean11 a~meins a~brgew a~ntgew a~mstae
             a~gewei a~groes a~volum a~voleh c~rbtxt
             d~maktx a~mtart
      FROM ( mara AS a
                      INNER JOIN ZLO_INTMM_MTART as zlo ON a~mtart = zlo~mtart

                      LEFT JOIN mean  AS b ON  a~matnr = b~matnr
                                           AND a~meins = b~meinh
                                           AND b~eantp = 'Z1'
                      LEFT JOIN t142t AS c ON  a~raube = c~raube
                                           AND c~spras = 'DE'
                      LEFT JOIN makt AS  d ON  a~matnr = d~matnr
                                           AND d~spras = 'DE' )
      INTO CORRESPONDING FIELDS OF l_str_matItem
      WHERE a~matnr BETWEEN g_from AND g_to
      AND   a~mstae BETWEEN g_mstae_from AND g_mstae_to.

*     auslesen des Bestimmungslandes
      l_str_matItem-atwrt = me->getAufmachung( l_str_matItem-matnr ).

      APPEND l_str_matItem TO matliste.
      CLEAR l_str_matItem.
    ENDSELECT.
Könnt Ihr vielleicht ein paar Tipps geben wie ich dies besser umsetzen könnte? Sollte ich vielleicht erst den inner join machen, um dann das Ergebnis gegen die left joins zu filtern?

Ich hoffe Ihr könnt mir etwas weiterhelfen

Danke
Alex

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


Re: Hilfe bei Select-Optimierung

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Meine Fresse, was ein Apparat. Ganz spontan habe ich mich gefragt:

1. Muss select/endselect sein?

Ich würde versuchen, ein "into table ..." durchzuführen. Ich weiß dass im select noch was passiert, aber das würde ich mgl. in einen loop auslagern

2. "into corresponding fields" ist ein Laufzeitfresser, wenn schon select/endselect sein muss, dann ohne "corresponding fields", sondern darauf achten, dass die rausgesuchten Felder kompatibel und reihenfolgerichtig die Zielfelder treffen.

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

Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
ralf.wenzel hat geschrieben:2. "into corresponding fields" ist ein Laufzeitfresser, wenn schon select/endselect sein muss, dann ohne "corresponding fields", sondern darauf achten, dass die rausgesuchten Felder kompatibel und reihenfolgerichtig die Zielfelder treffen.
Auch wenn man es vielleicht vermeiden sollte: Ganz so schlimm ist das meiner Meinung nach nicht. Zumindest gibt es bei SELECTS viele andere Regeln, die es dringender zu befolgen gilt (Daten-/Treffermenge/Anzahl Zugriffe klein halten, Indizes verwenden...).
"Laufzeitfresser" klingt so dramatisch :wink:
SAP Hilfe hat geschrieben: Die Varianten ... INTO CORRESPONDING FIELDS OF wa, ... INTO CORRESPONDING FIELDS OF TABLE itab und ... APPENDING CORRESPONDING FIELDS OF TABLE itab benötigen im Vergleich zu den entsprechenden Varianten ohne CORRESPONDING FIELDS eine etwas höhere - von der Größe der Lösungsmenge aber unabhängige - Laufzeit. Sie sollten deshalb möglichst vermieden werden.


Gruß BlackMail.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1455
Views
Hilfe bei SELECT
von treyfifty » 18.02.2016 13:57 • Verfasst in ABAP® für Anfänger
2
Antw.
1130
Views
Hilfe bei SELECT
von supermario73 » 31.01.2008 14:02 • Verfasst in ABAP® für Anfänger
5
Antw.
2124
Views
select join hilfe
von dimes » 07.03.2006 16:56 • Verfasst in ABAP® Core
2
Antw.
2218
Views
Hilfe beim SELECT
von supermario73 » 27.12.2006 13:16 • Verfasst in ABAP® für Anfänger
1
Antw.
1294
Views
Select-Options und F4 Hilfe
von guest » 25.10.2005 17:57 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 44 Minuten von Manfred K. 1 / 13
Trennen Strasse und Hausnummer
vor einer Stunde von payten 13 / 10299
Dialog-Container mit Toolbar/Status
vor 16 Stunden von DeathAndPain gelöst 22 / 3230
Daten an Tabelle binden
vor 21 Stunden von Lukas Sanders 2 / 1090

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

User Exit EXIT_RQCPRM10_001
vor 44 Minuten von Manfred K. 1 / 13
Trennen Strasse und Hausnummer
vor einer Stunde von payten 13 / 10299
Dialog-Container mit Toolbar/Status
vor 16 Stunden von DeathAndPain gelöst 22 / 3230
Daten an Tabelle binden
vor 21 Stunden von Lukas Sanders 2 / 1090

Unbeantwortete Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 44 Minuten von Manfred K. 1 / 13
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2652
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9239