在线设计海报的网站,提供网站建设工具的公司,网页图片下载器,百度医疗网站建设select count(*) from tb_user ;在之前的测试中#xff0c;我们发现#xff0c;如果数据量很大#xff0c;在执行count操作时#xff0c;是非常耗时的。
MyISAM 引擎把一个表的总行数存在了磁盘上#xff0c;因此执行 count(*) 的时候会直接返回这个 数#xff0c;效率很…select count(*) from tb_user ;在之前的测试中我们发现如果数据量很大在执行count操作时是非常耗时的。
MyISAM 引擎把一个表的总行数存在了磁盘上因此执行 count(*) 的时候会直接返回这个 数效率很高 但是如果是带条件的countMyISAM也慢。
InnoDB 引擎就麻烦了它执行 count(*) 的时候需要把数据一行一行地从引擎里面读出 来然后累积计数。
如果说要大幅度提升InnoDB表的count效率主要的优化思路
自己计数(可以借助于redis这样的数 据库进行,但是如果是带条件的count又比较麻烦了)。 count用法
count() 是一个聚合函数对于返回的结果集一行行地判断如果 count 函数的参数不是 NULL累计值就加 1否则不加最后返回累计值。
用法
count*、count主键、count字段、count数字 按照效率排序的话count(字段) count(主键 id) count(1) ≈ count(*)所以尽 量使用 count(*)。