| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> mysql的存储引擎以及myql的架构图 -> 正文阅读 |
|
[大数据]mysql的存储引擎以及myql的架构图 |
一 mysql的架构图1.连接层:最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的 通信。 2.服务层:一些sql接口,解析器,优化器,缓存 3.存储引擎:存储引擎层,存储引擎真正的负责了 MySQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信。 4.数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互 二 执行流程
mysql
的查询流程大致是:
mysql
客户端通过协议与
mysql
服务器建连接,
发送查询语句,先检查查询缓存
,如果命中,直接返回结果, 否则进行语句解析,
也就是说,在解析查询之前,服务器会先访问查询缓存
(query cache)
——它存储
SELECT
语句以及 相应的查询结果集。如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及执行。它仅 仅将缓存中的结果返回给用户即可,这将大大提高系统的性能。
语法解析器和预处理:首先
mysql
通过关键字将
SQL
语句进行解析,并生成一颗对应的“解析树”。
mysql
解析 器将使用 mysql
语法规则验证和解析查询;预处理器则根据一些
mysql
规则进一步检查解析数是否合法。
查询优化器当解析树被认为是合法的了,并且由优化器将其转化成执行计划。一条查询可以有很多种执行方式,
最后都返回相同的结果。优化器的作用就是找到这其中最好的执行计划
。。
然后,
mysql
默认使用的
BTREE
索引,并且一个大致方向是
:
无论怎么折腾
sql
,至少在目前来说,
mysql
最多只 用到表中的一个索引。
三 存储引擎比较1.查看引擎 show variables like '%storage_engine%'? ?2.存储引擎比较 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:27:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |