Когда вы ограничиваете количество строк, возвращаемых SQL-запросом, обычно используемым в подкачке, существует два метода для определения общего количества записей:
Способ 1
Включите опцию SQL_CALC_FOUND_ROWS
в исходном SELECT
, а затем получите общее количество строк, запустив SELECT FOUND_ROWS()
:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10;
SELECT FOUND_ROWS();
Способ 2
Запустите запрос в обычном режиме, а затем получите общее количество строк, запустив SELECT COUNT(*)
SELECT * FROM table WHERE id > 100 LIMIT 10;
SELECT COUNT(*) FROM table WHERE id > 100;
Какой метод является лучшим/быстрым?