数据库引擎MyISAM和InnoDB的区别

本文详细对比了MySQL中的两种主要存储引擎——MyISAM和InnoDB。MyISAM适合读取密集型应用,不支持事务但速度快,而InnoDB则提供事务支持、行级锁定和外键约束,适合写入密集型场景。InnoDB使用聚簇索引,MyISAM使用非聚簇索引。两者在文件存储和锁级别上也有显著差异。
摘要由CSDN通过智能技术生成


一、MyISAM

1、不支持事物,但每次查询都是原子性
2、支持表级锁,即每次操作是对整个表加锁
3、采用非聚簇索引,索引文件的数据域储存指向文件的指针,弗索引域主索引一致,但是辅索引不用保证唯一性
4、储存表的总行数
5、储存表在文件夹中的显示:
一个MyISAM表有三个文件:索引文件、表结构文件、数据文件

二、InnoDB

1、支持ACID事物,支持事物的四种隔离级别
2、支持行级锁及外键约束,因此支持并发
3、不储存表的总行数
4、一个InnoDB引擎储存在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能分为多个(设置为独立空表,表大小受操作系统文件大小限制,一半为2G),受操作系统文件大小的限制
5、主键索引采用聚簇索引(索引的数据域存储数据本身),辅索引的数据储存主键的值,因此从辅助索引查找数据,需要先通过辅索引找到主键值,再访问辅索引,索引最好用使用自增主键(比如mysql的储存结构是B+树),防止插入数据时,为维持B+树结构,文件的大挑战


小结

MyISAM相对于InnoDB在要更好,InnoDB相对于MyISAM在要更好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值