Lorsque vous limitez le nombre de lignes retournées par une requête SQL, habituellement utilisée dans la pagination, il existe deux méthodes pour déterminer le nombre total d'enregistrements:
Méthode 1
Inclure l' SQL_CALC_FOUND_ROWS
option à l'origine, SELECT
, puis obtenir le nombre total de lignes en cours d'exécution SELECT FOUND_ROWS()
:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10;
SELECT FOUND_ROWS();
Méthode 2
Exécuter la requête normalement, puis obtenir le nombre total de lignes en cours d'exécution SELECT COUNT(*)
SELECT * FROM table WHERE id > 100 LIMIT 10;
SELECT COUNT(*) FROM table WHERE id > 100;
Quelle méthode est la meilleure / la plus rapide?