mysql数据库各存储引擎之间的区别

本文对比了MySQL中五种常见的存储引擎:MyISAM、BDB、Memory、InnoDB和Archive的特点及适用场景,并详细介绍了MyISAM和InnoDB这两种最重要的存储引擎。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、下面的图表列举了几种常用存储引擎之间的特征和区别。

特点Myisam(5.5.5之前默认)BDBMemoryInnoDB(5.5.5之后默认)Archive
存储限制没有没有64TB没有
事务安全 支持 支持 
锁机制表锁页锁表锁行锁行锁
B树索引支持支持支持支持 
哈希索引  支持支持 
全文索引支持    
集群索引   支持 
数据缓存  支持支持 
索引缓存支持 支持支持 
数据可压缩支持   支持
空间使用N/A非常低
内存使用中等
批量插入的速度非常高
支持外键   支持 

2、最重要也最常用的两种存储引擎:

Myisam:Myisam在5.5.5之前版本中是mysql默认的存储引擎,当创建一个表的时候,如果未指定存储引擎的话,默认是使用Myisam引擎。Myisam在磁盘中会存储为三个文件(假设表名是xxx):

①xxx.frm(表定义) ②xxx.MYD(数据) ③xxx.MYI(索引)

表数据文件和表索引文件可以分别放置在不同的目录中,这样可以平均分布IO,所以它的查询速度更快。

InnoDB:InnoDB在5.5.5之后的版本中是mysql默认的存储引擎,InnoDB支持事务安全,有提交、回滚等相关事务功能。InnoDB相比于Myisam读写效率会差一些,会占用更多的磁盘空间用于保存数据和索引。

可以根据具体的使用场景来选择使用哪种数据引擎,可以组合使用。

 

转载于:https://my.oschina.net/MinghanSui/blog/1511591

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值