码迷,mamicode.com
首页 > 数据库 > 详细

MySQL高效获取记录总数

时间:2016-12-01 14:45:11      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:问题   方法   高效   sel   使用   use   row   avs   select   

通常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() 则取到了这个纪录。

MySQL高效获取记录总数

标签:问题   方法   高效   sel   使用   use   row   avs   select   

原文地址:http://www.cnblogs.com/xs-yqz/p/6121404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!