MySQL高级性能优化---MySQL逻辑架构篇

1. MySQL总体分层

1.1 连接层

我们客户端发送一个Select是直接交给连接层来处理,而它的作用就是提供与客户端连接的服务.连接层只是与客户端建立起连接.完成一些类似连接处理,授权认证 及相关的安全方案. 在该层上引入了连接池的概念.
在这里插入图片描述

1.2 服务层

提供核心的服务功能,如sql接口,完成缓存的查询,

sql的分析和优化部分及内置函数的执行.

服务包括以下内容:

1.2.1-Mangement Service

  • 备份
  • 安全
  • 复制
  • 集群

1.2.2-SQL interface

  • 存储过程
  • 视图
  • 触发器

1.2.3-Parser解析

  • 查询事务
  • 对象权限

1.2.4-Optimizer优化器

当我们编写Sql语句执行时,优化器会觉得我写的sql语句性能不够好,这个时候,优化器会自己写一个等价于跟我写的执行后结果一致的sql语句进行代替.

1.2.5-Cache Buffers

缓存
服务器会查询内部的缓存,如果缓存空间足够大,这样可以解决大量读操作的环境中,能够很好的提升系统性能
在这里插入图片描述

1.3 引擎层

存储引擎是真正负责MYSQL中数据的存储和提取,
服务器通过API与存储引擎进行通信,
不同的存储引擎提供的功能不同,
可以根据自己的实际需求来进行选取
常见的有:lnnoDB、MylSAM、Memory
lnnoDB 【Mysql默认】:它在设计的时候,它是事物优先.
原理:因为它是行锁,我每一条数据都要锁,
锁的太多,性能就降低了,虽然性能降低了,
但是我适合高并发了,就不容易出错了
MylSAM:性能优先
原理:因为它是表锁,
对于表里面的十条数据来说是不受影响的,
对十条锁一次就完了,所以性能快
Memroy:
memory存储引擎是MySQL中的一类特殊的存储引擎。其使用存储在内存中的内容来创建表,而且所有数据也放在内存中,因此,其基于内存中的特性,这类表的处理速度会非常快,但是,其数据易丢失,生命周期短
在这里插入图片描述

1.4 存储层

主要是将数据存储在运行的计算机文件系统之上,

并完成与存储引擎的交互.
在这里插入图片描述

2. 整体执行流程

1.首先客户端发出一个Select操作

2.连接层接收后给服务层

3.服务层对你的查询进行一个优化

并把优化结果给引擎层

4.选择当前数据库的引擎,选完引擎后

引擎将最终的数据交给了存储层

5.存储层,用存储层来存数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值