MyISAM和InnoDb的区别

MySQL5.0后默认存储引擎变为InnoDB。InnoDB支持事务处理、行级锁定和外键,适合有增删改查操作的场景。而MyISAM适合读取密集型应用,它不支持事务但锁级别为表级。总结来说,如需事务安全和高性能写操作,推荐InnoDB;若是查询为主,可选MyISAM。
摘要由CSDN通过智能技术生成

MySQL 5.0以后的版本默认的存储引擎为InnoDb,之前是MyISAM。

现在说说两者的区别:

1.数据存储结构的不同

   MyISAM存储文件:.MYD(存储表数据),.MYI(存储表结构),.FRM(存储表结构)

    InnoDb存储文件: .FRM(存储表结构),.idb(存储表数据和索引)

2.数据存取方式不同

 MyISAM的主键索引为非聚簇索引,叶子节点存储的是数据的物理地址,Innodb的主键索引是聚簇索引,叶子节点存储的是数据。

Innodb的主键索引的叶子节点直接存储的是数据,二级索引的叶子节点存储的是主键,在利用主键来获取数据,这个特性决定了索引组织表中数据也是索引的一部分;

MyISAM的主键索引和二级索引的叶子节点存储的是主键的地址

3.对事物的支持不同

  InonDb支持事务,MyISAM不支持事务

4.对锁的支持不同

   MyISAM对数据进行修改的时候,是加上表锁,而InnoDb对数据进行修改的时候,添加的是行锁

    InnoDb还有事务提交,事务回滚,崩溃修复的能力

5.外键的支持不同

   innodb支持外键,myisam不支持外键

总结:建议使用InnoDb,但是如果对于大多都是查询,可以选用MyISAm。

           需要支持事务的,有查询和修改的还是要选用InnoDb。

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值