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 / 4849 / 313 / 642 ) »
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 / 3 ) »
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 / 3 ) »
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.
1316
Views
SQL JOINS
von ABAPlerv » 18.05.2022 14:11 • Verfasst in ABAP® für Anfänger
19
Antw.
5684
Views
Joins
von Neu_Im_SAP » 25.07.2011 13:15 • Verfasst in ABAP® für Anfänger
3
Antw.
1337
Views
Tabellen Joins
von ek53 » 07.12.2016 10:19 • Verfasst in ABAP® für Anfänger
2
Antw.
1649
Views
SQ02 joins
von slim » 24.01.2007 13:25 • Verfasst in SAP - Allgemeines
1
Antw.
2481
Views
Equi Joins in ABAP
von SeZo » 19.10.2011 11:02 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 18 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 285
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

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 18 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 285
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 221
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9953