网站首页 > 基础教程 正文
MyISAM和InnoDB是MySQL的两种存储引擎。
为了便于说明,我们先来看一张MySQL的架构图,MyISAM和InnoDB是MySQL支持的存储引擎中的两种。
MySQL的设计使得存储引擎可以任意切换,这是一种很好的软件设计理念。
从发展时间线来看,Mysql-5.1版本之前默认引擎是MyISAM,之后是innoDB。
MyISAM和InnoDB最明显的区别就是Innodb支持事务,而MyISAM不支持事务。
两者的差异如下表:
MyISAM | InnoDB | |
事务支持 | 不支持 | 支持 |
锁定粒度 | 表级锁 | 行级锁 |
数据一致性 | 不提供 | 提供 |
并发性能 | 读操作并发性能好,写操作串行执行 | 读写操作都有较好的并发性能 |
关联性能 | 对简单查询效率高 | 对复杂关联查询效率高 |
外键支持 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
崩溃恢复 | 不支持 | 支持 |
索引类型 | B+树索引 | 聚簇索引(主键索引)和辅助索引(二级索引) |
存储空间 | 占用较小 | 占用较大 |
缓存机制 | 只缓存索引 | 缓存数据和索引 |
适用场景 MyISAM适合没有事务要求、读多写少的场景,InnoDB对读写都具备良好的并发性能。
虽然Mysql-5.1之后,默认存储引擎为InnoDB了,很多人几乎没用到过MyISAM。但是了解MyISAM的特性和原理也是非常有必要的。
猜你喜欢
- 2024-10-12 数据库笔试面试25——有关InnoDB和MyISAM的说法中
- 2024-10-12 Mysql中的InnoDB和MyISAM|每天一面试题
- 2024-10-12 数据库常见面试题:InnoDB和MySIAM的区别-开课吧
- 2024-10-12 记一次生产数据库MyISAM存储引擎转为Innodb过程
- 2024-10-12 InnoDB 和 MyISAM的数据分布是什么样的?
- 2024-10-12 程序员冷知识,Mysql的数据库引擎为什么多选InnoDB?
- 2024-10-12 MySQL之MyISAM索引和InnoDB索引的实现细节
- 2024-10-12 MyISAM 和 InnoDB 实现 B 树索引方式的区别是什么?
- 2024-10-12 MyISAM 与 InnoDB 索引的区别有哪些?
- 2024-10-12 mysql-innodb和myisam存储引擎 mysql的两种存储引擎区别,各自的使用场景
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)