当前位置: 首页 > Web前端 > HTML

MySQL数据库数据引擎前端开发

时间:2023-03-28 18:56:31 HTML

在MySQL5.1的中文文档中,有如下MySQL插件存储引擎的架构图。通过这张图,我们可以很好的了解MySQL的整体架构。从上面的架构图我们可以看出,最上面的Connector代表客户端,客户端是一些具体的链接协议;下面的MySQLServer代表服务器,前端培训包括ConnectionPool、SQLInterface、Parser、Optimizer、StorageEngines、文件系统(Files、Logs)、管理服务。StorageEngines的主要工作是与文件系统进行数据交互,比如我们常用的InnoDB引擎。MySQL的存储引擎是插件式的,应用程序不需要针对不同的存储引擎进行相应的编码操作。MySQL提供了一套标准的API标准,MySQL服务会自动处理不同存储引擎和文件系统的读写。层次没有感知。表上指定存储引擎,每个表可以指定自己的引擎;无论使用什么存储引擎,都会生成一个后缀为frm的文件来代替定义表结构。一、MySQL的存储引擎介绍主要包括以下五种存储引擎:二、MyISAM和InnoDB引擎的区别Mysql5.5之前默认的存储引擎是MyISAM存储引擎。MySQL中的许多系统表都使用MyISAM存储引擎。临时表也使用MyISAM存储引擎,但是Mysql5.5之后默认的存储引擎是InnoDB存储引擎。主要原因是MyISAM是表级锁,限制了数据库读写的性能;另一个原因是MyISAM不支持事务。基于以上两点,InnoDB引擎被广泛使用。MyISAM和InnoDB引擎主要有以下6点不同:3.数据文件存放路径——查看数据存放的文件路径,显示变量如'datadir';4.InnoDB逻辑存储结构MySQL的存储结构分为5个层次:表空间、段、簇、页、行。表空间(TableSpace):表空间可以看作是InnoDB存储引擎的逻辑结构的存储结构的一个大容器。所有数据都存储在表空间中,表空间分为:系统表空间、独占表空间、通用表空间、临时表空间、Undo表空间。段:表空间由各种段组成,分为:数据段、索引段、回滚段等。段是一个逻辑概念。一个.ibd文件(独立表空间文件)中会有很多段组成。创建索引会创建两个段,一个是索引段(叶子节点段),索引段管理非叶子节点的关键字和引用数据;另一个是数据段:(非叶子节点段),数据段管理叶子节点行记录数据。区/簇(extents):一个段由许多簇(也叫区)组成,每个区的大小为1MB(64个连续的页),每个段至少有一个簇,一个段管理空间的大小是无限的,可以永远扩展,但扩展的最小单位是簇。页/块(page):为了高效地管理物理空间,簇是由连续的页组成的空间。一个簇中有64个连续页??(1MB/16KB=64)。这些页面在物理上和逻辑上都是连续的。page是InnoDB存储引擎磁盘管理的最小单位,每页默认16KB,由innodbpagesize设置。Row:MySQL5.7之后默认的行格式(Rowformat)为:DYNAMIC,创建数据表时可以指定Rowformat。每个人都知道有这样的事情。在文件系统中,操作系统和内存交换文件,最小单位是页。但是文件系统的页默认为4KB,MySQL数据库的页默认为16KB。目的是为了一次IO操作获取更多的数据。原作者:追梦人