【MySQL】的相关面试题

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

面试题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值