Mailinglisten-Archive |
Am Mit, 2003-02-26 um 12.13 schrieb Michael Donning: > Hallo Oliver, > > > -----Original Message----- > > From: Oliver Wiemer [mailto:o.wiemer at audiovisuellemedien.de] > > ich habe folgende query am laufen. > > > > select gentiltplane.* from gentiltplane LEFT JOIN workgentilt > > ON gentiltplane.id = workgentilt.id > > where workgentilt.fertig is NULL > > AND gentiltplane.aufsetzdatum > '0000-00-00' > > AND gentiltplane.aufsetzdatum < '2003-03-01' > > limit 0,25 > > > > Die Daten werden immer mehr, und die Laufzeit auch immer länger. > > Gibt es eine elegantere Lösung? > > Kann es sein, daß die Bedingung workgentilt.fertig=null nicht so oft > vorkommt? Dann gleich einen Index drauf setzen. Es sei denn die Bedingung > soll prüfen, ob es überhaupt einen Match in dem Left Join gibt. Letzteres, es soll geprüft werden ob überhaupt etwas gematcht wird. > > Möchtest Du gerne 25 zufällige Sätze auswählen ? Denn genau das macht Deine > Abfrage, alles andere ist Glück/Zufall. Du hast keine Sortierung angegeben, > wie sollen da die ersten 25 Sätze eindeutig festgelegt sein? > > Notfalls kann man ja mehrere Anläufe nehmen und das erste aufsetzdatum beim > ersten Versuch in einen Abstand (- n Monate) setzen in dem mit großer > Wahrscheinlichkeit 25 Treffer erzielt werden, sollte dies nicht der Fall > sein, die Suche dann komplett ausführen. Danke, hatte ich eigentlich hatte ich das gehabt, nur mit dem gefummel verworfen -- und bis jetzt übersehen. By Olli -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive