Ingen nævner dette rigtigt, men den korrekte måde at bruge SQL_CALC_FOUND_ROWS
på teknikken er sådan her:
- Udfør din forespørgsel:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10
- Kør derefter denne forespørgsel direkte bagefter:
SELECT FOUND_ROWS()
. Resultatet af denne forespørgsel indeholder det fulde antal af den forrige forespørgsel, dvs. som om du ikke havde brugtLIMIT
klausul. Denne anden forespørgsel er øjeblikkeligt hurtig, fordi resultatet allerede er blevet cachelagret.