yo,
welcher Syntax ist eigentlich besser?
wie Vinzenz schon ansprach, ist der unterschied der beiden tabellen, dass in der ersten abfrage eine JOIN bedingung fehlt, nämlich von Tabelle "t1_fracht AS ffracht". ich denke mal, du hast sie nur vergessen hinzuschreiben oder fehlt sie tatsächlich ?
beide Abfragen brauchen laut phpMyAdmin ca. 0.0035 Sekunden
ob man nun expliziet die INNER JOIN schreibweise benutzt oder alle JOIN bedingungen in die WHERE klausel mit rein nimmt, ist nur eine frage der übersicht. für die ausführungsgeschwindigkeit spielt sie keine rolle. deine zeitmessung bestätigt diese annahme.
Gibt es eine Möglichkeit, wie man die Abfrage allgemein optimieren kann?
das hängt in erster linie von deinem datendesign und die art der daten ab. ohne es genau zu wissen, sollte man dein daten-design sollte zumindestens einer weiteren prüfung unterziehen. und auch die tabellennamen scheinen mir nicht ganz sinnvoll zu sein.
Die SQL Befehle ohne DISTINCT geben 41.280 Datensätze zurück...
ich fage mich wieso... eigentlich dürfte nur einer rauskommen
ist da irgendwo ein Join Problem, dass er soviele (immer das gleiche Ergebnis) Datensätze anzeigt?
dass die datensätze gleich sind, das hängt mit der ausgabe deiner spalten zusammen. würdest du mehr spalten von verschienden tabellen der abfrage ausgeben, würde dir auffallen, dass sich nun nicht mehr alle datensätze gleichen. das liegt daran, dass ein produkt ganz offensichtlich verschiedene eigenschaften besitzt, die in mehrere tabellen aufgeteilt sind. jede dieser eigenschaften wird nun als ein datensatz dargestellt.
Ilja