Meinst du wirklich Datenbanken oder meinst du in 3 Tabellen?
Wenn sie in 3 Tabellen sind ist das kein Ding, wenn sie in 3 Datenbanken sind würde ich die Frage stellen “warum?”
Grundsätzlich solltest du es sogar so machen, anstatt 3 einzelne Abfragen zu stellen. Weil so kann der Queryoptimizer die Abfrage besser optimieren. Das Einzige was du gucken solltest ob nicht auch ein Join geht. Weil je nach Art könnte ein Join schneller als ein Subselect und umgekehrt sein.
In mehreren Queries gibt es gar nichts zu optimieren, außer eben die Einzelqueries. Subqueries sind meistens schneller als per Join verknüpfte Queries, mit temporären Queries kann man auch extrem viel herausholen.
Wobei das hier ja gar nicht das Thema des Threads ist.
Datensätze, die aus mehreren Tabellen stammen abzufragen, ist genau das, wofür SQL entwickelt wurde.
Wenn dir das noch nicht so geläufig ist, dann sieh dir die verschiedenen Join-Typen an: INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN und ggf. FULL OUTER JOIN (den kann MySQL nicht).
Außerdem auch hier nochmal mein gern gebrachter Tip: sieh dir den Ausführungsplan deiner Query mit EXPLAIN an, um herauszubekommen, wo du ggf. noch einen Index setzen musst oder die Abfrage an sich noch optimieren kannst.
[QUOTE=cmrudolph]
Außerdem auch hier nochmal mein gern gebrachter Tip: sieh dir den Ausführungsplan deiner Query mit EXPLAIN an, um herauszubekommen, wo du ggf. noch einen Index setzen musst oder die Abfrage an sich noch optimieren kannst.[/QUOTE]