Vinzenz Mai: mySQL-JOIN: Entweder nur einmal, oder keinmal.

Beitrag lesen

Hallo Thomas,

</archiv/2010/10/t201415/#m1358742>,
</archiv/2010/4/t197346/#m1323623>,
</archiv/2010/5/t197951/#m1328627>

Aber gibt es dafür auch irgendwie tieferen Gründe, als dass man einen Fehler dabei machen könnte (so liest es sich für mich zumindest)?

dass Joins das falsche Werkzeug für eine Aufgabe sein können :-)
Wie war's: "Wenn man bloß einen Hammer hat, sieht alles aus wie ein Nagel."

Wenn's *keinen* relevanten Performanceunterschied gibt, bevorzuge ich die leichter verständliche Variante gegenüber einer komplexen Lösung, die allein durch ihre Komplexität fehlerträchtiger ist. Ist's performancerelevant, muss man eh' alle Register der Optimierung ziehen und messen, messen und nochmals messen.

Die Subselect-Variante für die Aufgabe hier im Thread ist mit Sicherheit lesbarer, verständlicher und damit wartbarer und weniger fehlerträchtig als eine, die auf Subselects deswegen verzichten und mit Joins auskommen muss, weil die eingesetzte MySQL-Version die seit Jahren tote 4.0.x (oder schlimmer) ist, die noch keine Subselects unterstützt. Für den Einsatz einer solchen Leiche in einer Produktivumgebung habe ich sehr wenig Verständnis.

Freundliche Grüße

Vinzenz