Hi!
wie kann ich denn folgende Abfrage besser gestalten? Was mich stört ist, ist dieses artikel.available='1'
artikel.available ist hoffentlich kein String - wenn das der Fall ist, eliminiere die Hochkommata.
Ich vermute es ist eine boolsche Information, die durch die beiden Werte 0 und 1 (genauer: alles andere als 0) in der Spalte ausgedrückt wird. Man kann in dem Fall auch einfach nur "WHERE available" schreiben.
SELECT * ist auch in den seltensten Fällen schlau, meistens willst du nicht restlos alle Felder haben - artikel.available wird dich später z.B. nicht mehr interessieren, wenn du das ohnehin schon per WHERE-Clause filterst.
Formulier das doch ein bisschen neutraler, oder kennst du eine belastbare Statistik, die deine Wortwahl unterstützt?
SELECT * ist nicht immer die beste Wahl, zum Beispiel dann, wenn nicht alle Felder im Abfrageergebnis benötigt werden - ... (der Rest ist ok.)
Letztlich kommt es darauf an, ob man wirklich Einsparungen erzielen kann. In diesem Fall ist available (vermutet) ein Zeichen/Byte groß. Alle Feldnamen zusammen sind X Zeichen/Bytes. Das rechnet sich erst, wenn bei den Abfragen durchschnittlich mindestens X Datensätze im Ergebnis sind (jetzt mal nur die Datenmenge ohne Overhead betrachtet und sonstige Nebenwirkungen unbeachtet gelassen).
Lo!