Perfrormance Tip

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!

Perfrormance Tip

Postby Arian1652 » Wed Nov 10, 2004 10:27 am

Vielleicht ein kleiner Tipp für einige.
Das Program liest eigentlich nur die MARA
und MAKT, ohne Einschränkungen. Ziel den
Materialkurztext mit anzuzeigen.

Mit der normalen Select Anweisung eine
laufzeit von 47 Sekunden, mit dem Innerjoin 2
Sekunden.

Komplettes Coding mit mehr Beispielen (int. Tabs)
ist angefügt.

Normaler Selcet:

SELECT * INTO CORRESPONDING FIELDS OF I_TAB FROM MARA
WHERE MATNR in ZMATNR.

SELECT SINGLE * INTO CORRESPONDING FIELDS OF I_TAB FROM MAKT
WHERE MATNR = I_TAB-MATNR.

APPEND I_TAB.

zähler = zähler + 1.

ENDSELECT.

InnerJoin:


SELECT F~MATNR P~MAKTX

INTO (I_TAB-MATNR, I_TAB-MAKTX)
FROM MARA AS F INNER JOIN MAKT AS P
ON F~MATNR = P~MATNR
WHERE F~MATNR in ZMATNR.

APPEND I_TAB.

zähler = zähler + 1.

ENDSELECT.

viel spass :)
Arian1652
...
...
 
Posts: 118
Joined: Wed Nov 10, 2004 10:27 am

Postby ewx » Wed Nov 10, 2004 11:17 am

Mit "SELECT ... INTO TABLE ITAB" und der Verwendung von SY-DBCNT für die Anzahl der gelesenen Sätze wird's wahrscheinlich noch schneller...

Gruß, Enno.
ewx
.....
.....
 
Posts: 2840
Joined: Mon Aug 04, 2003 9:02 pm

Postby Melia1066 » Wed Nov 10, 2004 6:27 pm

an dieser stelle kann ich nur an meinen lieblingsthread verweisen:
http://www.abapforum.com/forum/viewtopic.php?t=1421

ich liebe es ;)

deDieter
Melia1066
..
..
 
Posts: 43
Joined: Tue Sep 23, 2003 1:30 pm

doppelt gequirlter code aus dem SQL Lehrbuch S. 258ff

Postby Felina5027 » Wed Dec 15, 2004 11:38 pm

mindestens eben so schnell:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. data: begin of t occurs 0,
  2.         matnr like makt-matnr,
  3.         maktx like makt-maktx,
  4.       end of t,
  5.       i type i.
  6. select matnr into table t from mara.
  7. loop at t.
  8.   select single maktx into t-maktx from makt
  9.                       where matnr = t-matnr
  10.                         and spras = sy-langu.
  11.   modify t.
  12. describe table t lines i.
  13.  
GeSHi ©
Felina5027
.
.
 
Posts: 2
Joined: Wed Dec 15, 2004 11:38 pm

Re: doppelt gequirlter code aus dem SQL Lehrbuch S. 258ff

Postby Alva1590 » Thu Dec 16, 2004 10:17 am

Ulrich hat geschrieben:mindestens eben so schnell

Glaub ich nicht!

Enno
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Alva1590 » Thu Dec 16, 2004 1:43 pm

ich auch nicht

Dele
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Re: doppelt gequirlter code aus dem SQL Lehrbuch S. 258ff

Postby Arian1652 » Wed Jan 05, 2005 10:53 am

[quote="Ulrich"]mindestens eben so schnell:

Ich habe doch mal diesen Code aus dem SQL Lehrbuch laufen lassen. Bei 70.000 Datensätze braucht dieser Code 45 Sekunden entgegen meinem Innerjoin mit 1 Sekunde.
Ich denke gerade der Select single auf die MAKT ist hier der grosse Hemmschuhe.

:wink: Enjoy It
Arian1652
...
...
 
Posts: 118
Joined: Wed Nov 10, 2004 10:27 am

Re: Perfrormance Tip

Postby Silke1341 » Wed Jan 05, 2005 2:38 pm

GERDLA hat geschrieben:...
SELECT F~MATNR P~MAKTX

INTO (I_TAB-MATNR, I_TAB-MAKTX)
FROM MARA AS F INNER JOIN MAKT AS P
ON F~MATNR = P~MATNR
WHERE F~MATNR in ZMATNR.

APPEND I_TAB.

zähler = zähler + 1.

ENDSELECT.
...


ich plädiere für folgende Variante, da ich SELECT-Schleifen verabscheue... (laufzeitintensiv, debugging-problematisch...)
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   BEGIN OF t_material,
  2.     matnr TYPE matnr,
  3.     maktx TYPE maktx,
  4.   END   OF t_material.
  5.  
  6.   gt_material TYPE TABLE OF t_material.
  7.  
  8. SELECT DISTINCT f~matnr
  9.                 p~maktx
  10.     INTO CORRESPONDING FIELDS OF TABLE gt_material
  11.     FROM mara AS f
  12.       INNER JOIN makt AS p
  13.         ON f~matnr = p~matnr
  14.     WHERE f~matnr IN zmatnr
  15.     ORDER BY f~matnr.
  16.  
GeSHi ©

Die Anzahl Sätze in der Tabelle sollten sich am schnellsten mit
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. DESCRIBE TABLE gt_material LINES zaehler.
GeSHi ©
ermitteln lassen
Silke1341
.....
.....
 
Posts: 1985
Joined: Thu Aug 19, 2004 3:20 pm

Postby Ilja583 » Wed Jan 05, 2005 3:51 pm

@Gerdla:

Dir ist schon klar, dass die beiden Codestrecken in deinem Posting am Anfang nicht dasselbe tun, oder :?:
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

unterschiedliches abarbeiten

Postby Arian1652 » Wed Jan 05, 2005 5:45 pm

Dir ist schon klar, dass die beiden Codestrecken in deinem Posting am Anfang nicht dasselbe tun, oder?


Hallo black_adept,

was willst du mir genau sagen, stehe wohl
etwas auf der Leitung. Bitte noch kleinen Tipp.

grüsse

gerdla
Arian1652
...
...
 
Posts: 118
Joined: Wed Nov 10, 2004 10:27 am

Next

Return to Tips + Tricks & FAQs

Who is online

Users browsing this forum: No registered users and 20 guests