Personne ne le mentionne vraiment, mais la bonne façon d'utiliser le SQL_CALC_FOUND_ROWS
la technique est la suivante :
- Effectuez votre requête :
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10
- Ensuite, exécutez cette requête directement après :
SELECT FOUND_ROWS()
. Le résultat de cette requête contient le décompte complet de la requête précédente, c'est-à-dire comme si vous n'aviez pas utilisé leLIMIT
clause. Cette deuxième requête est instantanément rapide, car le résultat a déjà été mis en cache.