MySQL 体系结构

数据库优化 学习笔记

一、MySQL 体系结构


        MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

分层结构
在这里插入图片描述

1.1、网络层

        第一层的连接服务,用于不同语言与 MySQL 的交互。

	-- 命令查看MySQL实例的最大连接数和单个用户的最大连接数
	show variables like '%connections%'

1.2、服务层(核心层)

        二层服务层是 MySQL 的核心,MySQL 的核心服务层都在这一层,查询解析,SQL 执行计划分析,SQL 执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等。

  • Management Serveices & Utilities:系统管理和控制工具
    备份和恢复的安全性,复制,集群,管理,配置,迁移和元数据。

  • Connection Pool:连接池
    进行身份验证、线程重用,连接限制,检查内存,数据缓存;管理用户的连接,线程处理等需要缓存的需求。

  • SQL Interface:SQL 接口
    进行 DML、DDL,存储过程、视图、触发器等操作和管理;用户通过 SQL 命令来查询所需结果。

  • Parser:解析器
    查询翻译对象的特权;SQL 命令传递到解析器的时候会被解析器验证和解析。

  • Optimizer:查询优化器

  • Cache 和 Buffer:查询缓存
    全局和引擎特定的缓存和缓冲区

服务层的内部结构:

在这里插入图片描述

1.3、存储引擎层

        第三层为存储引擎层,存储引擎负责MySQL中数据的存储和提取,服务器通过API于存储引擎进行通信。

        负责 MySQL 中数据的存储与提取。 服务器中的查询执行引擎通过 API 与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。MySQL 采用插件式的存储引擎。MySQL 为我们提供了许多存储引擎,每种存储引擎有不同的特点。我们可以根据不同的业务特点,选择最适合的存储引擎。如果对于存储引擎的性能不满意,可以通过修改源码来得到自己想要达到的性能。例如阿里巴巴的 X-Engine,为了满足企业的需求 facebook 与 google 都对 InnoDB 存储引擎进行了扩充。

	-- 命令查看系统支持的各个存储引擎信息
	show engines;

	-- 查看系统变量
	-- default_storage_engine 					默认存储引擎
	-- default_tmp_storage_engine				临时表存储引擎
	show variables like '%storgage_engine%';

1.4、系统文件层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值