引擎对比 | 事务 | 并发能力 | 数据安全 | count(*) |
InnoDb | 把 | |||
MyISAM | 表的总行数存在磁盘里 |
引擎对比 | count(*) |
InnoDb | 读取每一行记录做累加 |
MyISAM | 表的总行数存在磁盘里(加where条件一样很慢) |
MVCC:主要是事务之前的并发(可重复读通过MVCC实现)
show table status,TABLE_ROWS表示多少行(通过采样估算来的)
自己计数的方法(找个地方,把行数存起来)
用redis计数,不同的线程之前可能会有数据的查询丢失
用mysql计数,由于可重复读机制,别的地方读到的都是统一值
count 聚合函数
count()的用法 主键ID(从引擎取出ID,不为null累加)、1()、字段(取出对应字段)、*(取出数据)