Mailinglisten-Archive |
> > ORDER BY USERNAME > > warum kein normaler join ? > ich ich will doch nur die gematchen rows haben und nicht > noch die non-matched, die jetzt alle NULL anstatt werte haben oder ? aus manual: The table read order forced by LEFT JOIN and STRAIGHT JOIN will help the join optimizer (which calculates in which order tables should be joined) to do its work much more quickly, as there are fewer table permutations to check. nur join heisst ja, du überlässt dem server die überlegung in welche richtung er vorgeht, unnötige denkarbeit für ihn. da ich das nie mache muss ich allerdings gestehen keine ahnung zu haben ob er tatsächlich bei einem 'nur' join die datensätze weglässt wo bei einem von beiden null ist (ich hätte eher das gegenteil angenommen - das im gegensatz zum left join bei beiden tabellen das null abwechselnd stehen kann). aber u.U. soll es ja gar keine geben die null sind? dann ist es ja interessant die zu finden für die die referentielle integrität nicht sichergestellt ist? > > > bischen Eigenwerbung: zieh Dir doch mal den rc1 von phpMyAdmin, der > kann Dir > > sowas jetzt selbstständig erstellen ;-) > wie meinsten das ? > ? naja, so halt, dass man mit der neuen phpMyAdmin Version jetzt mit dem Abfrageeditor (heisst im rc1 wohl noch 'Suche über Beispielwerte' die Möglichkeit hat nur noch anzugeben welche spalten aus welchen tabellen man sehen will und phpMyAdmin fügt die left joins ein (setzt natürlich voraus, das man ihm einmal zentral vorgibt wie die tabellen verknüpft sind, aber dafür wird man ja noch mit anderen neuen features belohnt wie pdfs von der dbstruktur und so... aber das steht alles in der doku) -- Mike Beck mike.beck_(at)_users.sourceforge.net
php::bar PHP Wiki - Listenarchive