Tom: Subselects schachteln?

Beitrag lesen

Hello dedlfix,

@Tom, ich hatte es wirklich schon mal, dass subselects (wenn nur ein Wert rausgesucht werden soll) schneller sind als JOIN. Ich habe allerdings bis heute (aus Zeitgründen) noch nicht herausgefunden, warum das so ist.

Was der Optimizer unter der Haube tun kann und das noch in Abhängigkeit der anfallenden Datenmenge, spielt auch noch eine große Rolle, so dass man keine pauschalen Aussagen treffen kann, was nun schneller ist. Aber mal so prinzipiell gesehen muss bei einem Join zuerst die große Datenmenge erzeugt werden, dann kommt die Filterung der Where-Klausel dran. Wenn die bereits gefilterten Daten der einen Tabelle eine geringe Menge ergeben, sind dann wenige Subselects - noch dazu wenn sie über einen Index agehandelt werden können - schneller zu ermitteln. Aber wie gesagt, das kann je nach Datenmenge auch sorum und sorum enden.

Das hieße dann ja, dass man für mehrere Werte, die benötigt werden, auch mehrere Subselects verwenden könnte/sollte? Das würde die gesamte Abfrage "modular" machen. Man könnte verschiedene interessante Abfragen vorbereiten und dann, wie in einem Funktionsbaukasten, zusammenstöpseln.

Wie tief darf man Subselects (by MySQL) schachteln?

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com