前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql的逻辑架构

Mysql的逻辑架构

作者头像
彼岸舞
发布2020-09-30 11:22:05
5220
发布2020-09-30 11:22:05
举报

Mysql的逻辑架构图

相信很少有人看过这个图,因为我刚看见的时候也是挺萌的,在工作中一般大家都用的是Mysql也都会用,但是为啥要看这个呢,我们需要对Mysql的整体有一个简单的认知!

Mysql是分层的

整体分为

Connectors:连接驱动

Enterprise Management Services & Utillties :服务管理器和一些工具

Connection Pool:连接池

Sql interfice : SQL接口

Parser:解析器

optimizer:优化器

Caches & buffer :缓存

Pluggable Storage Engines:存储引擎  第一次知道原来Mysql有这么对存储引擎[捂脸]

file system:文件系统 也就是C盘D盘只不过图上画的是分了NTFS和SAN

files & log : 文件与日志

是不是看完对Mysql又有了一个全新的认识;我也是

接下来说一下查询缓存 

缓存分别会缓存SQL和数据

SQL缓存默认开启的

数据缓存默认是关闭的

数据缓存需要手动开启同时设置缓存大小

代码语言:javascript
复制
// 查询数据缓存是否开启
show variables like '%query_cache_type%'

// 查询缓存的大小
show variables like '%query_cache_size%'

// 设置开启缓存

手写SQL

SQL解析

 优化器

源SQL

代码语言:javascript
复制
explain select * from esp_76 where creator =1;

 由此可见是存在where条件的 查询的表是esp_76

源SQL

代码语言:javascript
复制
explain select * from esp_76 where 1=1;

 由此可见在经过SQL优化器之后,where 1=1被优化掉了,在Mysql看来有where和没有where的执行结果是一致的

源SQL

代码语言:javascript
复制
explain select * from esp_76 where id = null;

 由此可见因为ID是主键,所以不可能为null,所以Mysql在extra中表示出这条SQL是没有返回结果的,并且table字段也是空的,干脆连表都不扫描了

这就是SQL的优化器

太困了,下一章说存储引擎

作者:彼岸舞

时间:2020\07\04

内容关于:Mysql

本文来源于网络,只做技术分享,一概不负任何责任

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档