说说mysql存储引擎innodb和myisam的区别和使⽤场景。
a. InnoDB:
1. ⽀持事务处理
2. ⽀持外键
3. ⽀持⾏锁
4. 不⽀持FULLTEXT类型的索引(在Mysql5.6已引⼊)
5. 不保存表的具体⾏数,扫描表来计算有多少⾏
6. 对于AUTO_INCREMENT类型的字段,必须包含只有该字段的索引
7. DELETE 表时,是⼀⾏⼀⾏的删除
8. InnoDB 把数据和索引存放在表空间⾥⾯
9. 跨平台可直接拷⻉使⽤
10. 表格很难被压缩
b. MyISAM:
1. 不⽀持事务,回滚将造成不完全回滚,不具有原⼦性
2. 不⽀持外键
3. ⽀持全⽂搜索
4. 保存表的具体⾏数,不带where时,直接返回保存的⾏数
5. DELETE 表时,先drop表,然后重建表
6. MyISAM 表被存放在三个⽂件 。frm ⽂件存放表格定义。 数据⽂件是MYD (MYData) 。 索引⽂件是MYI (MYIndex)引伸
7. 跨平台很难直接拷⻉
8. AUTO_INCREMENT类型字段可以和其他字段⼀起建⽴联合索引
9. 表格可以被压缩
c. 选择:因为MyISAM相对简单所以在效率上要优于InnoDB.如果系统读多,写少。对原⼦性要求低。那么MyISAM最好的选择。
且MyISAM恢复速度快。可直接⽤备份覆盖恢复。如果系统读少,写多的时候,尤其是并发写⼊⾼的时候。InnoDB就是⾸选了。
两种类型都有⾃⼰优缺点,选择那个完全要看⾃⼰的实际类弄
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报