Vinzenz Mai: Performance bei Joins

Beitrag lesen

Hallo Felix,

Indizes auf den Verknüpfungsspalten.
das war eben zu kurz, um mir weiterzuhelfen.

Stichwort Index: wie wäre es mit einem kurzen Blick ins Handbuch?

Inwiefern sind denn meine ON-Statements keine "Verknüpfungsspalten"? Und inwiefern sind es keine Indices?

Nur weil Du Spalten zur Verknüpfung verwendest, wird deswegen noch lange kein Index für diese Spalten angelegt. Das musst Du schon selbst tun, im CREATE-TABLE- bzw. jetzt im ALTER-TABLE-Statement oder eben einem CREATE-INDEX-Statement. Einen Index bekommt man natürlich nicht umsonst, daher ist es *nicht* sinnvoll, auf alle Spalten Indexe zu setzen.

Abgesehen davon:
Gibt es Schüler, die auf keiner Klassenliste stehen?
Gibt es Klassenlisten, die keiner Klasse zugeordnet sind?

Für jede Frage, die Du mit "Nein" beantwortest, solltest Du den LEFT JOIN durch einen INNER JOIN ersetzen.

Freundliche Grüße

Vinzenz