开发者社区> 问答> 正文

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

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

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

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

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载

相关镜像