美文网首页
mysql--查询流程

mysql--查询流程

作者: 机智的老刘明同志 | 来源:发表于2020-04-27 18:53 被阅读0次

查询流程:

        1.当客户端连接到 MySQL 服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过 SSL 证书进行认证。登录认证后,服务器还会验证客户端是否有执行某个查询的操作权限。

        2.在正式查询之前,服务器会查询缓存,如果能找到对应的查询,则不必进行查询解析,优化,执行等过程,直接返回缓存中的结果集。

        3.mysql解析器使用mysql语法规则验证和解析查询。生成一颗对应的解析树。(验证关键字是否错误,关键字的顺序,引号可否匹配?)

        4.mysql的预处理器进一步检查解析树是否正确(字段和表是否存在?名字别名是否歧义?)

        5.语法树合格了,优化器将其转化成执行计划,并选取最好的执行计划。(mysql的执行计划是数据结构,并不像其他的db是字节码)

        6.根据执行计划的指令逐步执行。大量的操作调用存储引擎实现的接口来完成(handle API)每一张表对应一个handler实例,优化器根据实例的接口获取表的各种信息。底层几十个接口实现了查询的操作(例如 通过查询某索引第一行的接口与查询某索引下一行的接口就可以实现一个全索引扫描的功能)

        7.逐步将结果集返给客户端。在返回给客户端的同时,会将数据存在查询缓存中。



相关文章

  • mysql--查询流程

    查询流程: 1.当客户端连接到 MySQL 服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以...

  • MySQL--查询

    group By 将数据根据指定字段进行分组,之后进行统计 用法:group by 字段名,这个不会显示所有,只保...

  • MySQL--基础查询

    -- 1基础查询 -- 1.1查询所有列 SELECT * FROM stu; -- 1.2在stu表中查询指定列...

  • MySQL--基础优化--及索引执行计划-Day6

    MySQL--基础优化--及索引执行计划-Day6 一、上节回顾: 1、作用 优化查询,类似于书中的目录 2、算法...

  • Mysql--连接查询和子查询

    连接查询和子查询 一、连接查询 1.1 概念 连接查询:也可以叫跨表查询,需要关联多个表进行查询 1.2 根据年代...

  • MYSQL--数据查询

    1. COUNT 使用 1.1 查询employee表中记录数:SELECT COUNT() FROM emplo...

  • Activiti工作流框架——控制操作流程

    部署流程定义 启动流程实例 查询流程定义 查询最新版本的流程定义 查询流程实例状态 导出流程图到文件夹下 删除流程...

  • 查询处理 - 查询处理流程

    查询处理 熟悉查询处理流程 查询处理流程 查询流程由下面5个后端进程处理。 Parser从客户端接收SQL语句,解...

  • 6.流程执行历史记录

    1.查询历史流程实例 2.查询历史活动 3.查询历史任务 4.查询历史流程变量

  • activiti 流程实例的查询

    创建一个流程实例查询对象,用来查询一个或多个流程实例. 第一:根据流程定义的key来查询(流程实例)的对象 第二:...

网友评论

      本文标题:mysql--查询流程

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