美文网首页
【重学MySQL60天】Day19 获得表行数的方法

【重学MySQL60天】Day19 获得表行数的方法

作者: 花生无翼 | 来源:发表于2020-07-21 09:43 被阅读0次

    学习内容如下:
    1.获得表行数的方法:用count()的实现方式,实现方式在不同引擎有不通的方式。
    MyISAM 引擎:把一个表的总行数存在了磁盘上,因此执行 count(
    ) 的时候会直接返回这个数,效率很高;
    InnoDB 引擎:它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。

    用InnoDB 引擎,当表的记录数越来越多的时候,计算一个表的总行数会越来越慢。

    2.不同的count用法
    count(*)、count(主键 id) 和 count(1) 都表示返回满足条件的结果集的总行数;
    而 count(字段),则表示返回满足条件的数据行里面,参数“字段”不为 NULL 的总个数。

    3.按照执行效率排
    count(字段)<count(主键 id)<count(1)≈count()
    因此建议尽量使用 count(
    )。

    相关文章

      网友评论

          本文标题:【重学MySQL60天】Day19 获得表行数的方法

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