简单认识MySQL存储引擎

MySQL体系结构

  • 连接层。一些客户端和链接服务,主要完成如连接处理、授权认证及选相关的安全方案
  • 服务层。主要完成大多数的核心服务功能,比如SQL接口,缓存的查询,SQL分析和优化,部分内置函数的执行。所以跨存储引擎的功能在这一层实现,如存储过程、函数等。
  • 引擎层。真正负责DBMS中数据的存储和提取。服务器通过api与存储引擎进行通信。不同的存储引擎具有不同功能,可以根据需求来选择合适的存储引擎。
  • 存储层。将数据存储在文件系统上,完成与存储引擎的交互。

MySQL存储引擎

在创建表时可以指定存储引擎,现在MySQL的默认存储引擎是InnoDB,它也是最常用的一种。

InnoDB是一种兼顾高可靠性和高性能和通用存储引擎。特点:①事务,DML操作遵循ACID模型,支持事务。②行级锁,提高并发访问性能。③外键,支持外键约束。InnoDB引擎的每张表都会对应一个.idb表空间文件,存储表结构、数据和索引。

MyISAM是MySQL早期默认的存储引擎。特点:不支持事务,不支持外键约束,支持表锁但不支持行锁,访问速度快。在磁盘中用表结构文件、索引文件、数据文件一起存储一个表。

Memory的表数据是存放在内存中的,只能作为临时表或缓存使用。特点:内存存放,默认使用哈希索引。在磁盘中只有sdi一个文件存放表结构。

posted @ 2024-07-30 09:30  随机生成一个id  阅读(2)  评论(0编辑  收藏  举报