Skip to content

使用SQL_CALC_FOUND_ROWS获取mysql查询记录总数

通常mysql获取查询记录总数我们使用如下语句:
SELECT COUNT(*) FROM users WHERE k='avs';
SELECT id FROM goods WHERE k='avs' LIMIT 10;

但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样的问题,其实mysql可以在一次查询中获取记录和总数的,这就是要使用SQL_CALC_FOUND_ROWS参数,使用方法如下:
SELECT SQL_CALC_FOUND_ROWS goods WHERE k='avs' LIMIT 10;
SELECT FOUND_ROWS();

这虽然是两个sql语句,但是确是查询一次数据库,效率明显提高了一半!其中SQL_CALC_FOUND_ROWS 告诉Mysql将sql所处理的行数记录下来,FOUND_ROWS() 则取到了这个纪录。

http://www.pkphp.com/(1)SELECT SQL_CALC_FOUND_ROWS(1)mysql查询记录(1)SQL_CALC_FOUND_ROWS(190)SQL_CALC_FOUND_ROWS count(11)php 获取记录总数(2)MySQL 总数(9)php SQL_CALC_FOUND_ROWS(7)mysql SQL_CALC_FOUND_ROWS 问题(1)SQL_CALC_FOUND_ROWS mysql(2)SQL_CALC_FOUND_ROWS 效率(3)mysql sql 记录总数(1)php mysql 获取查询行数(2)mysql sql 总数(1)查询记录总数(1)

Share in Google Reader Share in Google Reader 分享到 FriendFeed 分享到 FriendFeed 推荐到豆瓣 推荐到豆瓣 分享到 Twitter 分享到 Twitter

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*