Je ne fais presque jamais deux requêtes.
Renvoyez simplement une ligne de plus que nécessaire, n'en affichez que 10 sur la page, et s'il y en a plus que ce qui est affiché, affichez un bouton "Suivant".
SELECT x, y, z FROM `table` WHERE `some_condition` LIMIT 0, 11
// iterate through and display 10 rows.
// if there were 11 rows, display a "Next" button.
Votre requête doit revenir dans l'ordre des plus pertinentes en premier. Il y a de fortes chances que la plupart des gens ne se soucient pas d'aller à la page 236 sur 412.
Lorsque vous effectuez une recherche Google et que vos résultats ne s'affichent pas sur la première page, vous accédez probablement à la page 2, et non à la neuvième.