网站的资讯内容,做直播网站用什么程序,百度推广账号登陆入口,台州公司做网站count(主键id)
InnoDB 会遍历全表#xff0c;取每行的主键 id#xff0c;返回给 server 层#xff0c;server 层拿到数据后#xff0c;进行判断累加。count(1)
InnoDB 仍遍历全表#xff0c;但是不取值#xff0c;server 层对返回的每一行数据新增一个 1#xff0c;然…count(主键id)
InnoDB 会遍历全表取每行的主键 id返回给 server 层server 层拿到数据后进行判断累加。count(1)
InnoDB 仍遍历全表但是不取值server 层对返回的每一行数据新增一个 1然后进行判断累加因此count(1)要更快些因为无需取值。从引擎返回 id 会涉及到解析数据行以及拷贝字段值的操作。
count(字段)
如果这个“字段”是定义为 NOT NULL 的话一行行地从记录里面读出这个字段判断不能为 NULL 按行累加如果这个“字段”定义允许为 NULL那么执行的时候判断到有可能是 NULL还要把值取出来再判断一下不是 NULL 才累加。
count(*)
并不会把全部字段取出来而是专门做了优化不取值。count(*)肯定不是 NULL按行累加。 结论按照效率排序的话count(字段)count(主键 id)count(1)≈count()所以我建议你尽量使用count()。 引用https://www.jianshu.com/p/e1229342a5e2