Mailinglisten-Archive |
Paul Schwarzl wrote: >> >> Zuerst ein "select count(*) from..." (ohne order by = langsam) >> ist dir als >> Lösung wahrscheinlich zu hässlich.? >> Norbert Hartl wrote: > Der select ist doch selbst recht langsam, oder? Haesslich finde > ich das nicht :), allerdings denke ich, dass es sich auf die > Performance auswirkt. Ist doch so, oder? Der Select count(*) ist sehr schnell wenn die Indexes stimmen. (Er gibt auch nur ein Feld zurück) Ausserdem brauchst du Ihn nur einmal (zu beginn) Anzahl=select count(*) from.... select ... limit 40*seite,40.... select ... limit 40*seite,40.... select ... limit 40*seite,40.... .... > Ich nehme dein Statement jedenfalls so hin, dass das was ich wollte, > nicht geht. Würde ich nicht sagen. Nur, ich kenne limit bei mysql fast gar nicht. (Ich habe bei anderen DB´s sehr schlechte Erfahrungen mit limit gemacht und deshalb verdrängt). Wie läuft das (bei mysql), wenn Datensätze zwischen deinen limit-selects gelöscht oder hinzugefügt werden, und das eine order by verschiebung ergeben müsste???? z.B. zeitlicher Ablauf: 1) Seite 1 (40 row) wird angezeigt 2) Datensätze dieser 40 rows werden gelöscht oder Datensätze werden eingefügt die nach order by Datensätze aus den ersten 40 verdrängen würden. 3) Seite 2 (40 row) wird angezeigt) was ist da drauf? wie zuverlässig ist das?? Danke Paul
php::bar PHP Wiki - Listenarchive