MySQL高效获取记录总数

Posted 满血复活的回来写代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() 则取到了这个纪录。




以上是关于MySQL高效获取记录总数的主要内容,如果未能解决你的问题,请参考以下文章

shell 脚本获取MySQL数据库中所有表记录总数

春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。

计算总数然后在MySQL中列出一组记录的最快方法

MSSQLSERVER中如何快速获取表的记录总数

mysql之数据去重并记录总数

一次性完成分页查询并且附带数据总条数