暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
一条SQL查询语句是如何执行的.docx
112
7页
0次
2024-05-17
5墨值下载
MySQL 中一条 SQL 查询语句的执行过程
环境准备
准备如下 SQL 代码,第一行是切换到数据库 test,第二行是创建一个表,表名为 t1,包含 3
字段:id,name,create_time,其中 id 是主键列,然后是三个 insert 数据插入语句,最后一
行是本文要拿来剖析的查询语句:
我们都知道,在数据库客户端输入查询语句,然后执行,就看到结果如下图:
却不知道这条查询语句在 MySQL 内部的执行过程。下面,就让我们一起来把 MySQL 拆解一
下,看看里面都有哪些“零件”。我们来看看下面这个图:
use test
create table t1(id int primary key,`name` varchar(20),create_time datetime);
insert into t1(id,name,create_time) select 1,'张三',now()
insert into t1(id,name,create_time) select 2,'李四',now()
insert into t1(id,name,create_time) select 3,'王五',now()
select * from t1 where id=1
MySQL 的逻辑架构图》
如图所示,MySQL 主要由两个部分组成,即 Server 层和存储引擎层。
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多
数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有
跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持
InnoDBMyISAMMemory 等多个存储引擎。现在最常用的存储引擎是
InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
也就是如文章开头我建表脚本里面,没有指定存储引擎,那么我的表默认使用的是
InnoDB 存储引擎,我们可以通过查看表的 DDL 语句确认表所使用的存储引擎,如下
图:
of 7
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文档被以下合辑收录

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜