Comment faire :

Faites votre première requete en incluant l'option " SQL_CALC_FOUND_ROWS" :

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
    -> WHERE id > 100 LIMIT 10;

Vous avez donc vos résultats pour votre première page. Pour récupérer le nombre de ligne total, executez ensuite :

mysql> SELECT FOUND_ROWS();

Et voilà le travail ;) Cette deuxieme requete sera pratiquement instantanée, puisque MySQL aura gardé la valeur de côté rien que pour vous ;)

Source :

Note: ceci ne marche qu'à partir de MySQL 4.1