MySQL架构与引擎初识

1、MySQL逻辑架构

  

一、链接层:mysql

  最上层是一些客户端和链接服务,所包含的服务并非MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所须要的 :链接处理,身份验证,安全性等等。sql

二、服务层:缓存

  主要完成大多数的核心服务功能,如SQL 接口,并完成缓存的查询,SQL 的分析和优化及部份内置函数的执行。全部跨存储引擎的功能也在这一层上实现,如存储过程、触发器,视图等。在该层,服务器会解析并建立相应的内部数据结构(解析树),并完成相应的优化如重写查询、决定表的读取的顺序,选择合适的索引等,最后生成对应的执行操做。若是是select 语句,服务器还会先检查查询缓存(Query Cache),若是可以在其中找到对应的查询,服务器就没必要再执行查询解析、优化和执行整个过程,而是直接返回查询缓存中的结果集。若是缓存空间足够大,这样在解决大量读操做的环境中可以很好的提高系统的性能。安全

三、引擎层:服务器

  在存储引擎层,存储引擎真正的负责了MySql 中数据的存储和提取,服务器经过API 与存储引擎进行通讯。这些接口屏蔽了不一样存储引擎之间的差别,使得这些差别对上层的查询过程透明。存储引擎不会去解析SQL(InnoDB是一个例外,它会解析外键定义,由于MySQL服务器自己没有实现该功能),不一样存储引擎之间也不会相互通讯,而只是简单地响应上层服务器的请求。数据结构

四、存储层: 
架构

  数据存储层,主要将数据存储在运行于裸设备上的文件系统上,并完成与存储引擎的交互。函数

2、存储引擎

  一、查看当前mysql支持的引擎性能

#查看当前mysql支持的引擎
SHOW ENGINES;

  

  二、查看当前mysql默认的存储引擎优化

#查看当前mysql默认的存储引擎
SHOW VARIABLES LIKE '%storage_engine%';  

  

  三、InnoDB引擎是mysql5.7的默认引擎,支持事务、行级锁定和外键。还有一个使用率较高的是MyISAM,二者对好比下:

  

相关文章
相关标签/搜索