Thread SQL_CALC_FOUND_ROWS() (18 answers)
Opened by Froschpopo at 2007-05-13 21:14

Froschpopo
 2007-05-14 13:09
#35477 #35477
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Quote
was genau willst du denn zählen? wenn du die daten aus der anderen
tabelle für die anzahl nicht brauchst, dann lass sie halt raus."

Ich brauche die Anzahl der Ergebnisse von defaultusers, damit ich später angeben kann, auf wieviel HTML-Seiten die Ergebnistabelle verteilt wird. Dazu muss ich das LIMIT überwinden und das geht nur mit SQL_CALC_FOUND_ROWS.
Quote
ich sagte schon vorher, du sollst es mal machen und gucken, wie lange es dauert.
ich sagte nicht, bau es in den produktionscode ein. willst du nun
debuggen oder nicht

hab ich ja gemacht. Der Code dauert mit zwei Statements fast solang, wie nur eines mit SQL_CALC_FOUND_ROWS. Es kommt fast dasselbe dabei raus.

Zum Thema trivial: Das ist nicht möglich, da ich vor dem LEFT JOIn die ID-Primärschlüssel noch nicht kenne. Den will ich ja dadurch finden.
Den Primärschlüssel finde ich über einen INDEX (user_id).
Wie gesagt: Ohne SQL_CALC_FOUND_ROWS ist auch der nicht-triviale JOIN sehr schnell (ca. 0.2 Sek bei demselben Query, also einer großen Datenmenge).\n\n

<!--EDIT|Froschpopo|1179134070-->

View full thread SQL_CALC_FOUND_ROWS()