加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

深入理解select count(*)底层究竟做了什么

发布时间:2019-06-15 04:14:44 所属栏目:编程 来源:Java技术架构
导读:SELECT COUNT( * ) FROM t是个再常见不外的 SQL 需求了。在 MySQL 的行使类型中,我们一样平常行使事宜引擎 InnoDB 作为(一样平常营业)表的存储引擎,在此条件下,COUNT( * )操纵的时刻伟大度为 O(N),个中 N 为表的行数。 而 MyISAM 表中可以快速取到表的行数。这

SQL 层流程框架相干代码择要如下:

深入领略select count(*)底层毕竟做了什么

Q: 代码层面,第一步调(读取一行)有 2 个分支,为什么?

A:从 InnoDB 接口层面思量,分为 “读第一行” 和 “读下一行”,是 2 个差异的执行进程,读第一行必要找到一个 ( cursor ) 位置并做一些初始化事变让后续的进程可递归。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读