【面试】InnoDB和MyISAM的区别

28 篇文章 0 订阅

一.存储引擎

1.存储引擎是存储数据、建立索引、更新/查询数据等技术的实现方式。是基于表的,不是基于库的。也可被称为表类型。

二.类型在这里插入图片描述

三.特点

1.InnoDB
a.InnoDB特点
1.是一种兼顾高可靠性和高性能的通用存储引擎,在mysql5.5之后,InnoDB是默认的mysql存储引擎。
2.DML操作遵循ACID模型,支持事务。
3.行级锁,提高并发访问性能。
4.支持外键foreign key约束,保证数据的完整性和正确性。
5.存储文件格式为xxx.ibd,xxx是表名,innoDB引擎的每张表都对应一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。参数:innodb_file_per_table
b.逻辑存储结构

在这里插入图片描述

2.MyISAM
a.MyISAM特点
1.MyISAM是mysql早期的默认存储引擎。
2.不支持事务,不支持外键。
3.支持表锁,不支持行锁。
4.访问速度快。
5.xxx.sdi:存储表结构信息。
6.xxx.MYD:存储数据
7.xxx.MYI:存储索引
3.Memory
a.memory特点
1.内存存放:表数据存储在内存中,受硬件、断电问题影响,只能作为临时表或缓存使用。
2.hash索引(默认).
3.xxx.sdi:存储表结构信息

四.对比

在这里插入图片描述

五.存储引擎选择

1.InnoDB
1.对事务的完整性有较高的要求
2.并发条件下要求数据一致性
3.更新、删除操作频繁
2.MyISAM
1.以读操作、插入操作为主
2.对事务的完整性要求不高
3.对并发性要求不高
3.MEMORY
1.临时表
2.缓存
3.对表大小有限制
4.无法保障数据安全性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值