(8) 存储引擎

      最后更新:2022-04-09 14:18

      MySQL 系统架构


      1)连接层

      顶层由各种客户和链接服务组成,包括本地插座连接和大多数使用客户/服务工具完成的类似于TCP/IP的通信。
      与连接处理、授权认证和相关安全类似的一些安全程序大多已经完成。 在这一层面,开发了一个线性人才库的概念是为了给经过安全访问认证的客户提供线索。
      在这一级别上,还可建立以SSL为基础的安全联系,服务器还可通过安全访问检查每个客户的操作特权。

      2)服务层

      第二层有效地完成了大多数基本服务业务,如SQL接口,以及缓存查询、SQL分析和优化,以及部分内置功能执行。
      在此级别上,服务器解决查询,开发适当的内部分辨率树,并完成相应的优化,例如确定数据库查询顺序、是否使用索引等等,然后采取相应的执行行动。
      就选定语句而言,如果缓存空间足够大,在读取操作量大的环境中提高系统性能,服务器将另外寻找内部缓存。

      3)引擎层

      存储引擎层,其中存储引擎真正负责MySQL的数据存储和提取,服务器则通过API和存储引擎进行通信。
      各种存储引擎发挥不同的作用,允许我们选择最佳存储引擎供我们使用。数据库中的索引是在存储引擎层中创建的。

      4)存储层

      数据储存层层,主要用于在文件系统中存储数据(例如,redolog、regulog、数据、索引、二进制日志、错误日志、查询日志、缓慢查询日志等),以及完成与存储引擎的互动
      MySQL的特点:
      • MySQL不同于其他数据库,因为其结构可以在各种环境中得到有效实施和利用。
      • 主要在存储引擎中的插件存储引擎结构将查询处理和其他系统责任从数据存储和提取中分离出来。
      • 这一结构可根据公司的需求和实际需求选择最好的储存引擎。

      2 存储引擎介绍

      存储引擎是实现数据存储、索引编制、更新/搜索数据等技术的手段,因为存储引擎以表格而不是图书馆为基础,因此也被称为表格类型。
      当我们建造一个表格时, 我们可以指定应该使用哪个存储引擎。 如果没有提供存储引擎, 将会使用默认的存储引擎 。

      1) 表格设置存储引擎已经具体化。

      表格格式化
      外地1类[评论领域1意见]]。
      ......
      字段 n 中的 [COMMINTH 字段注释]类型。
      INNODB[中央表格评论];ENININE =INNODB

      (2) 本数据库所支持的查询存储引擎

      show engines;

      案例:

      示例1:查询表格报表 - InnoDB 是默认存储引擎。
      show create table account;

      可以看出,即使没有提供存储引擎,数据库在创建表格时也自动选择默认的存储引擎InnoDB。
      实例2:询问目前数据库使用的存储引擎。
      show engines ;

      例 3: 创建一个 My_myisam 表格,定义一个 MyISAM 存储引擎 。
      create table my_myisam(
          id int,
          name varchar(10)
      ) engine = MyISAM;
      示例 4: 构建一个 My_ 模拟表格, 定义内存存储引擎 。
      create table my_memory(
          id int,
          name varchar(10)
      ) engine = MEMORY;

      3 存储引擎特点

      3.1 InnoDB

      1)介绍

      使用 MySQL 5. 5, InnoDB 是默认的 MySQL 存储引擎。 它是一个通用的存储引擎, 具有很高的可靠性和性能 。

      2)特点

      • DML业务遵循ACID模式,并提供支助服务。
      • 改善和分散出入性能的线路锁;
      • 为确保数据的完整性和有效性,支持外部关键关键内容外国关键内容的约束。

      3)文件

      我不知道你在说什么,xx.ibd:xx代表手表的名字。每个 InnoDB 引擎手表都与此表格空间文件相对应 。,存储该表的表结构(frm-第一版、sdi-第二版)、数据和指数。

      innodb_ file_per_able 是一个参数 。
      show variables like 'innodb_file_per_table' ;

      如果启用此参数, 它代表每个 InnoDB 引擎表格的ibd 文件 。

      我们直接打开 MySQL 数据储存库: C: ProgramDataMaySQLMYSQL 服务器 8 BOFF cH00FF Data,此目录包含多个文件夹 。多个文件夹代表不同的数据库。我们直接打开协议书集


      它包含大量ibd文件。每个ibd 文件代表一个表格 。例如,我们有一个清单。有一个ibd文件叫做 count. ibd.此ibd文档包含数据以及表格结构。与该表有关的索引数据也将保存。
      此二进制文档无法直接在笔记本上打开。 我们可以使用 Mysql 提供的 ibd2sdi 命令从 ibd 文件提取 di 信息, 表格结构包含在 sdi 数据字典信息中 。

      4)辑存储结构


      • 表格空间:在逻辑结构的最高层,InnoDB 存储引擎,ibd 文件实际上是表格空间文件,可以包括表格空间中的若干段。
      • 表格空间由部分组成,其中最常见的是数据部分、索引部分、回放部分等等。 InnoDB部分的维护由引擎本身处理,不需要外部干预。若干部分包含在一个段落中。
      • 这个区域代表着地表空间的单元格结构, 每个区域是百万分之一百万分之一百万分之一的百万分之一的百万分之一的百万分之一的百万分之一的百万分之一。 InnoDB 存储引擎页面大小默认设定为 16K, 也就是说, 在一个区域里, 有64个连续页。
      • 页面是组成区最小的单位,是InnoDB存储引擎磁盘管理最小的单位,默认页面大小为16KB。为保持页面连续性,InnoDB存储引擎要求从磁盘上取4-5个部分。
      • 行:由于InnoDB 存储引擎面向行,数据储存在行上,每行除了在构建表格时提供的字段外,还有两个隐藏字段(解释见下文)。















      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类