Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

MySQL 的 COUNT 怎样兼顾语义与性能?

查看完整题解

参考回答

直接回答

先选择正确含义。COUNT(*) 数行,COUNT(列) 忽略 NULL。优化从过滤范围和可用索引入手,InnoDB 需要考虑事务可见性,不能总读一个固定计数。

讲清原理

过滤条件匹配大部分行时,精确统计仍可能昂贵。某些引擎的无条件整表计数有快捷方式,不能把这个结论套到所有事务表和谓词。

例子与易错点

列表若只需判断还有没有下一页,可以多取一条。必须显示精确总数时,评估相同快照和实际成本,估算值则明确标注。

相关题 · 第 107 题、第 72 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。