美文网首页mysql
MySQL高效获取记录总数

MySQL高效获取记录总数

作者: Yumazhiyao | 来源:发表于2016-12-09 13:45 被阅读780次

    通常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高效获取记录总数

        本文链接:https://www.haomeiwen.com/subject/slbemttx.html