MySQL中的count(*)函数响应缓慢如何优化?
发布时间
阅读量:
阅读量
该文档属于《MySQL实战45讲》课程的学习笔记与部分内容摘录,请参考原课程链接MySQL 实战 45 讲 (geekbang.org)
该文档属于《MySQL实战45讲》课程的学习笔记与部分内容摘录,请参考原课程链接MySQL 实战 45 讲 (geekbang.org)
1、count(*) 的实现方式
在不同的 MySQL 引擎中,count(*) 有不同的实现方式。
- 该数据库管理系统将单个表的总数据量存储在磁介质上;
因此,在查询过程中可直接获取该数值;相比之下,在InnoDB引擎中;
它为了计算总计值,
必须对数据进行逐行读取并累加。
注意,在本文中我们探讨的是未施加过滤条件的 count(*) 指令;即使在添加了 where 条件的情况下,在使用 MyISAM 表时也无法以如此迅速的速度返回结果。
问题1 :为什么 InnoDB 不跟 MyISAM 一样,也把数字
全部评论 (0)
还没有任何评论哟~
