【Mysql】 count() 慢问题

不一样引擎中,count(*)有不一样的实现方式redis MyISAM:把一个表的总行数存在了磁盘,所以在获取行数时候直接返回,效率高。若是加where条件就不能返回这么快。数据库 InnoDB:须要一行行从引擎里面读出来,累计计数,由于事务的支持因此经过MVCC并发控制,读取行数时候据须要一行行的读出来判断。缓存 MySQL优化器会找到最小的那棵树来遍历,在保证逻辑正确的前提下,尽可能减小扫描
相关文章
相关标签/搜索