Folge 6: 100-fache Performance durch LEFT-JOIN-Trick bei SQL
Stell dir vor, du hast zwei Tabellen, die in eine…
5 Minuten
Podcast
Podcaster
Beschreibung
vor 3 Jahren
Stell dir vor, du hast zwei Tabellen, die in einer 1:n-Relation
miteinander verbunden sind. Nehmen wir als Beispiel die
Bestellungen und die Bestellpositionen. Jeweils eine Bestellung hat
mehrere Bestellpositionen. Wenn du jetzt eine Anwendung bauen
musst, die sowohl eine Liste mit Bestellungen durchläuft, zu jeder
Bestellung aber auch noch die Bestellpositionen abklappert, kommst
du bei ausreichend Datenmenge ziemlich schnell an die
Leistungsgrenzen deiner Programmiersprache. Das Problem:
Wahrscheinlich implementierst du einfach zwei verschachtelte
Schleifen. In der äußeren Schleife durchläufst du die Bestellungen,
in der inneren Schleife durchläufst du die Bestellpositionen. Dabei
benötigst du für die erste Schleife genau EINEN SQL-Query-Aufruf,
um die Bestellungen aufzulisten. Für die Bestellpositionen wird
jedoch JE BESTELLUNG EIN SQL-Query-Aufruf für alle Positionen einer
Bestellung aufgerufen. SQL Queries in Schleifen sind IMMER eine
Dumme Idee. Jeder SELECT-Aufruf ist in der Lage, mehrere Ergebnisse
zurückzuliefern, also nutze das, um ALLE Ergebnisse mit einer Query
zu erlangen. Willst du weitere solche Tipps zur Optimierung
erlernen? Dann abonniere doch einfach diesen Podcast.
miteinander verbunden sind. Nehmen wir als Beispiel die
Bestellungen und die Bestellpositionen. Jeweils eine Bestellung hat
mehrere Bestellpositionen. Wenn du jetzt eine Anwendung bauen
musst, die sowohl eine Liste mit Bestellungen durchläuft, zu jeder
Bestellung aber auch noch die Bestellpositionen abklappert, kommst
du bei ausreichend Datenmenge ziemlich schnell an die
Leistungsgrenzen deiner Programmiersprache. Das Problem:
Wahrscheinlich implementierst du einfach zwei verschachtelte
Schleifen. In der äußeren Schleife durchläufst du die Bestellungen,
in der inneren Schleife durchläufst du die Bestellpositionen. Dabei
benötigst du für die erste Schleife genau EINEN SQL-Query-Aufruf,
um die Bestellungen aufzulisten. Für die Bestellpositionen wird
jedoch JE BESTELLUNG EIN SQL-Query-Aufruf für alle Positionen einer
Bestellung aufgerufen. SQL Queries in Schleifen sind IMMER eine
Dumme Idee. Jeder SELECT-Aufruf ist in der Lage, mehrere Ergebnisse
zurückzuliefern, also nutze das, um ALLE Ergebnisse mit einer Query
zu erlangen. Willst du weitere solche Tipps zur Optimierung
erlernen? Dann abonniere doch einfach diesen Podcast.
Weitere Episoden
3 Minuten
vor 3 Jahren
4 Minuten
vor 3 Jahren
3 Minuten
vor 3 Jahren
9 Minuten
vor 3 Jahren
4 Minuten
vor 3 Jahren
In Podcasts werben
Kommentare (0)