【发布时间】:2010-09-16 05:46:47
【问题描述】:
当你限制一个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;
哪种方法最好/最快?
【问题讨论】:
标签: mysql optimization