面试题
- 数据库引擎有哪些?
- InnoDB:这是MySQl默认的事务性存储引擎。它支持ACID事务,具有较好的性能和稳定性,适合大多数的应用场景
- MyISAM:这是MySQL的另外一种常用存储引擎。它不支持事务,但是适用于读取密集型应用,例如数据仓库,日志系统等
- Memory(HEAP) 这个存储引擎将数据库存储在内存当,因此具有非常告诉的读写速度。但是数据值存在于内存当中,数据库重启后数据会丢失
- Archive:这个存储引擎主要用于存储归档数据,数据压缩存储,适合于需要大量写入和较少查询的场景
- CSV这个存储引擎将数据以csv格式存储在文件中,适合于导入导出数据,数据交换等
- Blcakhole:这个存储引擎会接受数据但是不存储,适用于数据备份和分发
- Merge:这个存储引擎可以将多个MyISAM表合成一个逻辑表,方便查询
- Federated这个存储引起可以在不同MySQL服务器之间进行数据的查询和操作
- MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎,或者编写存储引擎。存储引擎式基于表的,而不是基于库的。所以存储引擎可称为表类型
- InnoDB于MyISAM有啥区别
- 事务支持
- innodb支持事务(ACID属性)可以使用commit和rollback等命令来控制事务的提交和回滚,这意味着innodb能够确保一组操作要么全部成功,要么全部失败回滚,确保了数据的一致性
- myisam不支持事务每个操作都是独立的,无法回滚。因此,如果在执行一系列操作时发生错误,myisam不能确保所有的操作都成功或者失败
- 锁定级别
- InnoDB支持行级锁定,可以避免多个会话之间的读写冲突,并提高并发性能
- MyISA

本文详细比较了MySQL的InnoDB和MyISAM存储引擎特性,涉及事务支持、锁定级别、外键约束、数据恢复以及优化建议,如选择合适的硬件、数据架构设计和索引管理。
最低0.47元/天 解锁文章
29万+

被折叠的 条评论
为什么被折叠?



