hi,
[...] Statement mit EXPLAIN auswerten lassen.
Das sollte man wirklich viel öfter tun, habe ich gerade wieder mal bemerkt.
Ich habe meine zuvor gepostete Query jetzt mal für zwei Fälle damit untersucht.
Einmal mit in der WHERE-Klausel verglichenem bkey, wenn ich einen bestimmten Eintrag auslesen will - und einmal nur mit ORDER BY bdate DESC LIMIT 1, um den aktuellsten Eintrag zu ermitteln.
Der Faulheit halber hatte ich bisher in meinen Scripten das ORDER BY bdate DESC LIMIT 1 _immer_ in der Query mit drinstehen - und habe dann die WHERE-Bedingung für den bkey dynamisch davor hinzugefügt.
(Obwohl ORDER BY/LIMIT 1 hier natürlich überflüssig ist, weil es zu einem bestimmten bkey nur einen Eintrag geben kann - wie gesagt, einfach der Faulheit halber, weil sich das im Script bequemer zusammenstellen liess.)
EXPLAIN brachte mich dann darauf, dass dies ungünstig ist:
Mit
WHERE bkey = 'xyz' ORDER BY bdate DESC LIMIT 1
kommt nämlich zum Using Where auch noch Using Filesort hinzu.
Wenn ich hingegen nur
WHERE bkey = 'xyz'
benutze, bleibt es beim simplen Using Where.
Ich merke also, seine Queries kann man sich gar nicht zu viel EXPLAINen lassen, und danke euch nochmal für den Hinweis darauf.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }