美文网首页数据蛙数据分析每周作业
【MySQL学习】No.1 执行SQL查询语句

【MySQL学习】No.1 执行SQL查询语句

作者: LL_路上 | 来源:发表于2019-01-27 19:36 被阅读0次

输入一条语句,返回一个结果,那这条语句在 MySQL 在SQL中如何执行呢?

MySQL 的基本架构示意图(copy):


image.png

第一步,连接器

你会先连接到这个数据库上,这时候接待你的就是连接器。

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

连接完成后,如果你没有后续的动作,这个连接就处于空闲状态,你可以在 show processlist 命令中看到它。

第二步,查询缓存

连接建立完成后,你就可以执行 select 语句了。MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以 key-value 对的形式,被直接缓存在内存中。

第三步,分析器

如果没有命中查询缓存,就要开始真正执行语句了。首先,MySQL需要知道你要做什么,因此需要对 SQL 语句做解析。分析器先会做“词法分析”。你输入的是由多个字符串和空格组成的一条 SQL 语句,MySQL 需要识别出里面的字符串分别是什么,代表什么。

第四步,优化器

经过了分析器,MySQL 就知道你要做什么了。在开始执行之前还要先经过优化器的处理。
优化器是在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序。

第五步,执行器

MySQL 通过分析器知道了你要做什么,通过优化器知道了该怎么做,于是就进入了执行器阶段,开始执行语句。
开始执行的时候,要先判断一下你对这个表 T 有没有执行查询的权限,如果没有,就会返回没有权限的错误。如果有权限,就打开表继续执行。打开表的时候,执行器就会根据表的引擎定义,去使用这个引擎提供的接口。

相关文章

  • 【MySQL学习】No.1 执行SQL查询语句

    输入一条语句,返回一个结果,那这条语句在 MySQL 在SQL中如何执行呢? MySQL 的基本架构示意图(cop...

  • 7 Explain详解

    使用Explain关键字可以模拟优化器执行SQL查询语句,从而指导MySQL是如何处理SQL语句的.分析查询语句或...

  • MySQL基础

    MySQL查询执行过程 一条SQL语句执行的流程如下: 客户端连接 MySQL 服务器,发布查询 如果查询缓存中有...

  • 查看Django ORM执行的SQL语句

    查询QuerySet对象执行的SQL语句 查询当前执行的SQL包括Django内置执行的多条执行的SQL语句

  • 数据库基础1:语句执行步骤

    一条SQL语句执行步骤 来源于MySQL实战 查询语句执行分析 MySQL分为Server层和存储引擎层 连接器:...

  • mysql诊断调优常用SQL语句

    在很多时候,我们需要通过SQL语句来查看MySQL执行SQL的情况,例如查看SQL执行队列,是否存在慢查询等等。 ...

  • 【MySQL必知必会】第17章:组合查询

    多数SQL查询都只使用单条SELECT语句。但MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单...

  • 2018-02-06 技术笔记

    开启mysql慢查询日志 介绍开启慢查询,可以查看超过指定时间执行的SQL语句,有目标的优化SQL查询效率。 参数...

  • Java自学-JDBC 查询

    在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQue...

  • mysql基础——sql 执行流程

    内容 一条sql查询语句如何执行 一条sql更新语句如何执行 一 1条sql查询语句如何执行 1.1 执行流程例如...

网友评论

    本文标题:【MySQL学习】No.1 执行SQL查询语句

    本文链接:https://www.haomeiwen.com/subject/pdjnjqtx.html