美文网首页
【重学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