Inner Joins - Performance

Getting started ... Alles für einen gelungenen Start.
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Inner Joins - Performance

Beitrag von c0lt.seavers (ForumUser / 44 / 0 / 0 ) »
Hallo!

Hier bei uns im Unternehmen wir gar nicht mit INNER JOINS gearbeitet, nun frage ich mich ob dies so unperformant ist oder ob es an dem Nichtwissen einiger Programmierer liegt?!

Vielen Dank
c0lt

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


Beitrag von ABAP - Programmierer (ForumUser / 35 / 0 / 0 ) »
Hallo!

Ich denke mal das es ehem am 2-ten liegt.
Ohne inner-join muss man, wenn man den Key von 2 Tabellen hat auch 2 Selects machen.
Mit dem Inner-Join kannst du gleich 2,3, oder mehr Tabellen selektieren und schneller ist es auch noch.
Ganz nützlich ist auch die Alias-Funktion, denn dann musst du nicht immer den ganzen Tabellennamen eingeben.
Ich würde dir also empfehlen, wenn es geht mit Joins zu arbeiten.

mfg

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Also bei einem Kunden wurden alle(!) Joins umgestellt auf einzelne Selects...
Die Datenbank hat es trotz Verwendung von Schlüsselfeldern im Join nicht geschafft, die Daten direkt zu lesen. Bei einem Join über 4 Tabellen wurde z. B. in einem Fall bei der vierten Tabelle ein Full Table Scan gemacht... :?

Es hat keiner rausbekommen warum...

In der Regel stimmt es aber, dass ein Join schneller ist, als mehrere Selects.

Gruß,
Enno.

Beitrag von Gast ( / / 0 / 3 ) »
ewx hat geschrieben:Also bei einem Kunden wurden alle(!) Joins umgestellt auf einzelne Selects...
Die Datenbank hat es trotz Verwendung von Schlüsselfeldern im Join nicht geschafft, die Daten direkt zu lesen. Bei einem Join über 4 Tabellen wurde z. B. in einem Fall bei der vierten Tabelle ein Full Table Scan gemacht... :?

Es hat keiner rausbekommen warum...
Der Execution plan und die Prüfung, wie aktuell di DB-Statistiken sind, sollten aber weiterhelfen.

Und nicht immer ist ein Full Table Scan schlimm.

Beitrag von meinrad (ForumUser / 67 / 0 / 0 ) »
Hallo,
1. ca 10 Jahre lang gab es im R3 keine Joins. Dennoch
war performante Programmierung möglich.
2. JOINS über mehrere Tabellen sind meiner Meinung nach nicht immer leicht zu verstehen.
3. Es gibt wenige verlässliche Untersuchungen, welcher Zugriff am schnellsten ist. Ich habe vor Jahren in einem Buch, dessen Titel ich nicht mehr weiss (nicht SAP PRESS) über Perfomance-Analysen von SAP-Datenbankzugriffen gelesen, dass sich JOINS von DB zu DB unterschiedlich verhalten. ORACLE, Informix, MS-SQl. Bei ORACLE 8.x waren sie am besten. Auch die DB-Release spielt eine Rolle. Oftmals war ein ARRAY-Zugriff (select into table ) schneller. Selbst bei gleichem Betriebsystem. gleichem Datenbank-System und gleicher Hardware und ähnlicher Anzahl Einträge kann ich mir vorstellen, dass ein Zugriff unterschiedlich schnell ist, wenn auf unterschiedliche Weise rein geschrieben wurde.

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Tach.

@meinrad:
Eine Diskussion pro/contra JOINs gab es hier schon mal, daher will ich mal nicht auf Übersichtlichkeit eingehen... ;)

@Topic:
Ich bevorzuge JOINs. Aber: bei grossen Abfragen (über >3 Tabellen) kann es tatsächlich zu Performace-Engpässen kommen. Bei mir hat mal die Indexqualität eine Rolle gespielt. Durch viele DELETE's und INSERT's war der Primärindex so verclustert, dass der Optimizer immer zu einem Full Table Scan gegriffen hat. Nach einem Indexneuaufbau war alles tutti.
IMHO sollte man sich mit JOINs auskennen, wissen, wo es dabei haken kann und im Bedarfsfall andere Techniken anwenden können.

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von joachim (ForumUser / 70 / 0 / 2 ) »
hallo,
teste doch einfach das verhalten zwischen inner-join und geschachteltem
select mit der se30, da bist du doch ganz schnell auf der sicheren seite.
joachim

Beitrag von olli-x (Specialist / 166 / 0 / 1 ) »
Hi,
Ich habe vor Jahren in einem Buch, dessen Titel ich nicht mehr weiss
war das vielleicht das hier:
http://www.amazon.de/exec/obidos/ASIN/3 ... 09-6541328

Gruß,
Olli

Beitrag von c0lt.seavers (ForumUser / 44 / 0 / 0 ) »
Ich arbeite nun schon seit gut 4 Jahren mit SAP und ich kenne nicht mal die SE30 :roll:. Danke liebe Mitarbeiter :evil:. Gibt es da noch mehr?

Beitrag von joachim (ForumUser / 70 / 0 / 2 ) »
hallo,
kann dir noch den sql-trace empfehlen (ST05). ich bringe kein programm in das produktivsystem ohne eine laufzeitanalyse bzw. die zugriffe aus der st05 kontrolliert habe, wobei die se30 einfacher zu lesen ist, da du in der auswertung sofort sehen kannst auf welcher tabelle (zugriffe)
du die meiste zeit verlierst.
joachim

Beitrag von Gast ( / / 0 / 3 ) »
Es gibt viele Firmen, in denen die ST05 nicht erlaubt ist.

Grund: Jeder meinte er müsse einen Trace starten... aber vergessen ihn wieder auszuschalten.

Folge: Riesige Datenmenge werden erstellt.

Seite 1 von 1

Vergleichbare Themen

13
Antw.
908
Views
SQL JOINS
von ABAPlerv » 18.05.2022 14:11 • Verfasst in ABAP® für Anfänger
19
Antw.
5441
Views
Joins
von Neu_Im_SAP » 25.07.2011 13:15 • Verfasst in ABAP® für Anfänger
3
Antw.
1228
Views
Tabellen Joins
von ek53 » 07.12.2016 10:19 • Verfasst in ABAP® für Anfänger
2
Antw.
1583
Views
SQ02 joins
von slim » 24.01.2007 13:25 • Verfasst in SAP - Allgemeines
1
Antw.
2216
Views
Equi Joins in ABAP
von SeZo » 19.10.2011 11:02 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140