开发者社区> 问答> 正文

Mysql 数据库对 COUNT(*) 是如何优化的

Mysql 数据库对 COUNT(*) 是如何优化的

展开
收起
一人吃饱,全家不饿 2020-12-27 23:25:00 1106 0
1 条回答
写回答
取消 提交回答
  • MyISAM 引擎做了一个简单的优化,它把表的总行数单独记录下来,如果从一张表中使用 COUNT() 进行查询的时候,直接返回记录数( MyISAM 数据库是表级锁,不会有并发的数据库行数修改,所以查询得到的行数是准确的) InnoDB 由于支持事务,大部分操作都是行级锁,所欲使用 COUNT() 查询行数的时候,不可避免的要进行扫表。InnoDB会优先选择最小的非聚簇索引来扫表。

    2020-12-27 23:25:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像