最佳答案
当限制 SQL 查询(通常用于分页)返回的行数时,有两种方法可以确定记录总数:
在原来的 SELECT
中包含 SQL_CALC_FOUND_ROWS
选项,然后通过运行 SELECT FOUND_ROWS()
得到行的总数:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10;
SELECT FOUND_ROWS();
正常运行查询,然后通过运行 SELECT COUNT(*)
获得总行数
SELECT * FROM table WHERE id > 100 LIMIT 10;
SELECT COUNT(*) FROM table WHERE id > 100;
哪种方法最好/最快?