InnoDB 和 MyISAM 的 select count()哪个更快?为什么?
在有查询条件的时候,具体看表中数据条数。(https://blog.csdn.net/z694644032/article/details/105134631)
在没有查询条件时MyISAM更快,主要对比一下count()在 InnoDB 和 MyISAM 中的实现:
- 在 MyISAM 存储引擎中,把表的总行数存储在磁盘上,当执行 select count(*) from t 时,直接返回总数据。
- 在 InnoDB 存储引擎中,跟 MyISAM 不一样,没有将总行数存储在磁盘上,当执行 select count(*) from t 时,会先把数据读出来,一行一行的累加,最后返回总数量。