【深入理解数据库原理】一条 SQL 查询语句是如何执行的?

深入理解数据库原理
以实战为基础,以数据库原理为基础,结合实战,深入理解数据库原理。
wangxiaoming

一条 SQL 查询语句是如何执行的?

比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时

mysql> select from T where ID=10;

我们只看到一个输入语句,返回一个结果,却不知道这个 SQL 语句在 MySQL 内部的执行过程。

MySQL 基本架构示意图

MySQL 基本架构示意图

  • Server 层包括连接器,查询缓存,分析器,优化器,执行器等,涵盖的功能包括 MySQl 大多数核心服务,比如内置函数(日期,时间,数学和加密函数),跨存储引擎的Server 层实现。比如存储过程,触发器,视图等。
  • 存储引擎层,负责数据的存储和提取,架构是插件式的,支持 InnoDB,MyISAM 、Memory 等多个存储引擎。现在的最常用的引擎是 InnoDB ,他是 MySQL 5.5.5 版本开始后的默认引擎。

执行create table 建表的时候,如果不指定存储引擎类型,默认使用InnoDB ,不过,也可以通过指定存储引擎类型来选择其他的引擎 ,比如在 Create table 预警中使用 engine = memory 。

连接器

第一步,你会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般是这么写的:

mysql -h$ip -P$port -u$user -p

输入完命令之后,需要在交互对话页面输入密码, 也

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付19.90元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值