MySQL 笔记:count(*)、count(1)、count(列) 的区别
从语义上分清三种 count 的计数规则,解释 InnoDB 为什么不缓存精确总行数,并用本机实测的 EXPLAIN 说明 count(*) 会挑一个更小的二级索引扫描,最后给出统计总数的几种优化路线。
从语义上分清三种 count 的计数规则,解释 InnoDB 为什么不缓存精确总行数,并用本机实测的 EXPLAIN 说明 count(*) 会挑一个更小的二级索引扫描,最后给出统计总数的几种优化路线。
按实现方式讲 ACID 四个特性各自靠什么保障,梳理四种隔离级别对应的读异常,并用 undo 版本链和 ReadView 说明快照读与当前读的区别,以及 InnoDB 默认级别如何防幻读。
从事务、锁粒度、索引结构、崩溃恢复和 count 统计五个维度对比 InnoDB 与 MyISAM,说明为什么 5.7 之后默认引擎是 InnoDB,以及还有哪些场景值得考虑 MyISAM。