Mailinglisten-Archive |
Hi, die Methode " ... ORDER BY LIMIT $offset, $anzahl" wird bei groesseren Tabellen immer sehr langsam. Wenn eine Suche z.B. rund 3000 Treffer ergibt und man jeweils 10 auf einer Seite anzeigen will, klappt das auf den ersten Seiten wunderbar. Aber gegen Ende wird das total zaehfliessend ... Wie machen das eigentlich andere Datenbank-Systeme, bei denen es den Konstrukt "... LIMIT $offset, $anzahl" gar nicht gibt? Eine Methode um die Abfrage schneller zu machen ist z.B. Das Ergebnis von: SELECT id WHERE $where ODER BY $order; in ein einspaltiges Array schreiben und in der Session ablegen. Die eigentliche Abfrage lautet dann: SELECT * WHERE id IN $teil; wobei $teil die aktuelle Teilmenge des gespeicherten Arrays ist. So richtig optimal ist das IMHO noch nicht, aber deutlich schneller als die Variante mit "... LIMIT $offset, $anzahl". m. b. G. Norbert _____________________ normal: 02682-966898 Notruf: 0163-3613642 --------------------- e.o.m.
php::bar PHP Wiki - Listenarchive