博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《MySQL DBA修炼之道》——1.3 查询执行过程概述
阅读量:7037 次
发布时间:2019-06-28

本文共 486 字,大约阅读时间需要 1 分钟。

本节书摘来自华章出版社《MySQL DBA修炼之道》一书中的第1章,第1.3节,作者:陈晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 查询执行过程概述

图1-2抽象化地描述了客户端和数据库交互的过程。

e9d8ce5fb2054e1045bf4396db7b214dc7a0e922
图1-2 客户端与数据库交互抽象架构图
如图1-2所示,客户端(Clients)发布查询的流程如下,首先连接MySQL(Connection Handling),然后发布查询,如果缓存(Query Cache)中有结果集,则直接返回结果集。如果结果没有被缓存,那么,MySQL解析查询(Parser)将通过优化器(Optimizer)生成执行计划,然后运行执行计划通过API(Pluggable Storage Engine API)从存储引擎获取数据,并返回给客户端。
什么是执行计划(查询计划)呢?执行计划就是一系列的操作步骤。SQL是声明性语言,它只告诉数据库要查询什么,但并不告诉数据库如何去查。数据库所要做的就是基于算法和统计信息计算出一条最佳的访问路径。这个工作是由优化器来完成的。优化器会比较不同的执行计划,然后选择其中最优的一套。

转载地址:http://zhial.baihongyu.com/

你可能感兴趣的文章
窥探SDWebImage
查看>>
Android6 0权限机制(三):6 0以前国产手机权限处理
查看>>
Linux 内核 101:NUMA架构
查看>>
推荐一个采用方便程序员在线动画学习常用算法的良心网站
查看>>
SQLServer之修改触发器
查看>>
如何使用SpringMvc处理Rest异常
查看>>
Golang学习笔记(二):五大声明语句
查看>>
springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存
查看>>
【我读《Big Data》】引言部分--大数据,一场生活,工作,思维的变革
查看>>
高性能MySQL读书笔记一
查看>>
用TableView实现分组列表展示
查看>>
排序(中_对数阶)
查看>>
11.JDK动态代理理解与拦截器
查看>>
[译] 从 Cron 到 Airflow 的迁移中我们学到了什么
查看>>
JavaScript继承总结
查看>>
Dropdown 组件实现思路
查看>>
new fn() 做了什么
查看>>
CSS 预处理语言之 less 篇
查看>>
文件上传漏洞
查看>>
[译] 现代 JavaScript 开发中的设计模式
查看>>