Ninguém realmente menciona isso, mas a maneira correta de usar o
SQL_CALC_FOUND_ROWS
técnica é assim:- Faça sua consulta:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10
- Em seguida, execute esta consulta diretamente depois:
SELECT FOUND_ROWS()
. O resultado desta consulta contém a contagem completa da consulta anterior, ou seja, como se você não tivesse usado oLIMIT
cláusula. Esta segunda consulta é instantaneamente rápida, porque o resultado já foi armazenado em cache.