phpbar.de logo

Mailinglisten-Archive

Optimierung mit JOIN .. ON
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Optimierung mit JOIN .. ON



Hallo,

ich habe hier gerade eine Abfrage, welche meinen Webserver(LAMP) gehörig
bremst.
Ich suche zu einer bestimmten Katalognummer die Beschreibung des
dazugehörigen Artikels. Die Katalognummer steht in katalog.katnr, diese
Spalte enthält auch eine artikelid die mit dem gleichnamigen Feld in artikel
übereinstimmt. Dort zu finden ist unter artikel.artikel die Beschreibung.

Folgende Abfrage tut bisher Ihren Dienst:

select artikel.artikel as descr
from artikel, katalog
where katalog.katnr = 'F 0915' AND artikel.artikelid = katalog.artikelid

Ich habe jetzt MySQL "in Verdacht", zuerst jede Zeile aus artikel mit jeder
aus katalog zu verbinden BEVOR die Abfrage "where katalog.katnr = ..." statt
findet. Deshalb dachte ich:

select artikel.artikel as descr
from artikel join katalog
on katalog.katnr = 'F 0915' AND artikel.artikelid = katalog.artikelid

wäre ein besserer Weg. Diese Abfrage funktioniert leider nicht. (Warum
nicht?!)

Die Abfrage:

select artikel.artikel as descr
from artikel natural left join katalog
where katalog.katnr = 'F 0915'

führte dann zwar zum gewünschten Ergebnis, allerdings in wesentlich längerer
Zeit als die ursprüngliche Abfrage.

Ist obenstehende Abfrage etwa schon das Optimum?

Viel Spaß noch
Johannes

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive