一文搞懂MySql存储引擎

1. MySQL体系结构

在这里插入图片描述

2、InnoDB存储引擎

介绍:
存储引擎就是存储数据、建立索引、更新和查询数据库的技术实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型。
InnoDB是一种高可靠性和高性能的存储引擎,在MySQL 5.5之后,是MySQL默认的存储引擎。
特点:
Supports transactions, row-level locking, and foreign keys
文件:
xxx.ibd: xxx代表的是表名,InnoDB的每张表都有一个这样的对应文件,存储该表的表结构(frm,sdi),数据和索引
参数:innodb_file_per_table 关于该参数可参考[https://www.cnblogs.com/wt645631686/p/8258070.html]

-- 查看参数innodb_file_per_table
show variables like 'innodb_file_per_table';
-- 查看数据库支持的存储引擎
show engines;
-- 查看建表语句
show create table emp;
-- 建表时可指定不同的存储引擎
CREATE TABLE `emp` (
  `id` int DEFAULT NULL COMMENT '编号',
  `workNo` varchar(10) DEFAULT NULL COMMENT '员工工号',
  `name` varchar(10) DEFAULT NULL,
  `gender` char(1) DEFAULT NULL COMMENT '性别',
  `age` tinyint unsigned DEFAULT NULL COMMENT '年龄',
  `idcard` char(18) DEFAULT NULL COMMENT '身份证号',
  `workaddress` varchar(50) DEFAULT NULL COMMENT '工作地址',
  `entrydate` date DEFAULT NULL COMMENT '入职时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='员工表'

//查看MySQL的数据存放位置
show global variables like “%datadir%//从ibd文件中查看sdi 
ibd2sdi xxx.ibd

逻辑结构
在这里插入图片描述

3、MyISAM 存储引擎

介绍:
MyISAM是InnoDB早期的存储引擎
特点:
不支持事务,不支持外键
支持表锁,不支持行锁
访问速度快
文件:
xxx.sdi: 存储表结构信息
xxx.MYD: 存储数据信息
xxx.MYI: 存储索引信息

4、Memory 存储引擎

介绍:
Memory 引擎存储的数据是在内存中,由于硬件问题或断电等影响只能将这些表作为临时表或缓存使用。
特点:
内存存放、hash索引
文件:
xxx.sdi: 存储表结构信息

5、上述三种存储引擎对比

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值