Nessuno lo menziona davvero, ma il modo corretto di usare SQL_CALC_FOUND_ROWS
la tecnica è così:
- Esegui la tua query:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10
- Quindi esegui questa query subito dopo:
SELECT FOUND_ROWS()
. Il risultato di questa query contiene il conteggio completo della query precedente, ovvero come se non avessi utilizzato ilLIMIT
clausola. Questa seconda query è istantaneamente veloce, perché il risultato è già stato memorizzato nella cache.