MySQL的默认引擎为什么是InnoDB

MySQL的默认引擎为什么是InnoDB_第1张图片

MySQL支持InnoDB、MyISAM、MEMORY、CSV等多个存储引擎,那为什么选InnoDB作为默认引擎呢?

主要原因有几点:

  • 事务

事务主要用于保持数据一致性,是一组操作的集合,要么全部成功,要么全部失败。InnoDB引擎提供了对事务的支持,可以进行ACID(原子性、一致性、隔离性、持久性)属性的操作。

  • 外键

InnoDB支持外键约束,能够保证数据的一致性和完整性。外键是表与表之间的关联,可以确保引用表中的数据在主表中存在,避免了数据的异常和错误。

  • 高并发

InnoDB引擎采用了行级锁定的机制,可以提供更好的并发性能,可以同时进行多个操作,而不会因为锁定整个表而导致其他操作被阻塞。MyISAM存储引擎只支持表锁,锁的粒度比较大。

  • 故障恢复

InnoDB引擎使用了redo日志和undo日志来记录数据的修改操作,确保数据的持久性。可以在数据库发生异常情况(如断电)时,通过日志文件进行恢复,保证数据的持久性和一致性。Myisam是不支持崩溃恢复的。

你可能感兴趣的:(#,mysql,mysql)