数据库引擎MyISAM和InnoDB的区别

分手后的思念是犯贱 2022-10-16 15:26 234阅读 0赞

文章目录

  • 一、MyISAM
  • 二、InnoDB
  • 小结

一、MyISAM

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

二、InnoDB

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


小结

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

发表评论

表情:
评论列表 (有 0 条评论,234人围观)

还没有评论,来说两句吧...

相关阅读