phpbar.de logo

Mailinglisten-Archive

Re: Sortierren.... / Count
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Sortierren.... / Count



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


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive