MySQL之存储引擎使用及说明
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、MySQL服务器结构</a></li><li><a href="#_label1">二、InnoDB存储引擎</a></li><li><a href="#_label2">总结</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>一、MySQL服务器结构</h2><p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122408410858.jpg" /></p>
<p><strong>连接层</strong>用于校验JDBC发来的用户名和密码,确认客户端使用的用户名的权限。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122408410842.png" /></p>
<ul><li><strong>服务层</strong>暴露统一接口<strong>检查并处理SQL、存储过程、视图、触发器</strong>,生成引擎能理解的指令序列。</li><li><strong>引擎层</strong>控制数据的逻辑存储结构,接收服务层的指令序列并执行,从而操作存储层数据,<strong>索引、事务、锁</strong>在该层维护。</li><li><strong>存储层</strong>就是磁盘,物理存储结构,存储数据和日志等持久化数据。</li></ul>
<p class="maodian"><a name="_label1"></a></p><h2>二、InnoDB存储引擎</h2>
<p>服务层对外暴露统一接口,将sql、存储过程、视图、触发器解析为引擎能理解的指令序列,引擎层负责维护表中数据的逻辑存储结构,不同的引擎有不同的逻辑存储结构,所以引擎层基于自己的存储方式<strong>执行传来的指令序列并从磁盘读取数据</strong>,且过程中可能会涉及的<strong>锁、事务、索引</strong>都由引擎层自己实现。</p>
<p>存储引擎是<strong>基于表</strong>的,每张表可以设置不同的存储引擎。</p>
<p>innoDB引擎特点:</p>
<ul><li>每张表都会对应一个.ibd文件,存储了表结构、数据、索引。</li><li>DML操作支持ACID模型的事务。</li><li>行级锁,提高并发访问性能。</li><li>支持外键约束。</li></ul>
<p class="maodian"><a name="_label2"></a></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁:
[1]