Mailinglisten-Archive |
Hallo Stefan, wenn Dir count() zu lange geht [immerhin muss jeder DS "angefasst" werden], kannst Du ja schummeln: 1) Leg ne zweite Tabelle an, in der Du pro User einen Datensatz fuehrst: einen Zaehler. Diesen erhoest Du bzw. verminderst Du immer dann, wenn ein den User betreffenden DS eingefuegt oder geloescht wird. Das artet natuerlich in Arbeit aus und setzt voraus, das User immer eine eindeutig definierte Menge an DS sehen (also immer nur edenselben select ausfuehrern). Dafuer hast Du einen schnellen Zugriff auf die aktuelle Datensatzzahl. 2) Mit weniger Arbeit verbunden, aber vielleicht von der Laufzeit langsamer, da die Ergebnismenge groesser ist: Einen Select ohne Limit, in der Ausgabeseite nur 15 Saetze anzeigen, Zaehler mitfuehren, per href blaettern anbieten: dieselbe Seite mit den naechsten 15 DS anzeigen. Dann stimmt die Variable mit der DS-Zahl. Viel Spass, Ruediger Stefan Zimara schrieb: > > Hallo, > > zum einenn erst einmal vielen Dank, die mir eine Antwort gegebn haben zum > Thema > sortieren. Die Antworten haben mir sehr geholfen meine Abfragezeiten sowie > Sortierungen > zu verbessern. > > Jedoch plagt mich derzeit noch folgendes Problem und zwar haben User die > Möglichkeit ein Select Statmet auszuführen. Dieses ist Limitiert auf 15 > Suchergebnisse > und sehr schnell. Allerdings möchte ich dem User eine Angabe bieten nach der > > Art Treffer 1 bis 15 von 735 Ergebnissen, weshalb ich zum Statement > > Select * from Artikel where ... limit 15 > noch eine Abfrage mache select count(*) from Artikel where .... > um die Gesamttrefferzahl zu bekommen. > > Leider braucht das select count(*) from Artikel where .... aber sehr lange > (derzeit ca. 25 Sekunden, die Limit Abfrage nur 1) > > Gibt es also eine ander Möglichkeit die Gesamttreffer zu ermitteln? > Zwar bietet das CPAN Modul eine Variable an in der die > Treffer stehen, durch die Limitierung jedoch erhält man > dort halt stets den Wert 15) > > Ciao, > Stefan > > --- > *** Abmelden von dieser Mailingliste funktioniert per E-Mail > *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe -- I N T E R M E D I A T E GmbH&Co. System- und Beratungshaus fuer eBusiness Durlacher Allee 95 t +49 (0)721.98644-50 76137 Karlsruhe f +49 (0)721.98644-99 http://www.intermediate.de PS. Intermediate ist mit einem eigenen Team bei der beruehmten Oldtimer-Rallye 'La Carrera Panamericana' in Mexiko vertreten. Info: http://www.lacarrera.de --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive