MySQL之存储引擎使用及说明

 更新时间:2025年12月24日 08:41:08   作者:姓蔡小朋友  
MySQL服务器结构包括连接层、服务层、引擎层和存储层,连接层校验用户权限;服务层处理SQL、存储过程等并生成指令序列;引擎层控制数据存储结构并执行指令;存储层是磁盘,物理存储数据,InnoDB是MySQL的一个存储引擎,支持ACID事务、行级锁和外键约束

一、MySQL服务器结构

连接层用于校验JDBC发来的用户名和密码,确认客户端使用的用户名的权限。

  • 服务层暴露统一接口检查并处理SQL、存储过程、视图、触发器,生成引擎能理解的指令序列。
  • 引擎层控制数据的逻辑存储结构,接收服务层的指令序列并执行,从而操作存储层数据,索引、事务、锁在该层维护。
  • 存储层就是磁盘,物理存储结构,存储数据和日志等持久化数据。

二、InnoDB存储引擎

服务层对外暴露统一接口,将sql、存储过程、视图、触发器解析为引擎能理解的指令序列,引擎层负责维护表中数据的逻辑存储结构,不同的引擎有不同的逻辑存储结构,所以引擎层基于自己的存储方式执行传来的指令序列并从磁盘读取数据,且过程中可能会涉及的锁、事务、索引都由引擎层自己实现。

存储引擎是基于表的,每张表可以设置不同的存储引擎。

innoDB引擎特点:

  • 每张表都会对应一个.ibd文件,存储了表结构、数据、索引。
  • DML操作支持ACID模型的事务。
  • 行级锁,提高并发访问性能。
  • 支持外键约束。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论