问题解答 2"/>
mysql 问题解答 2
3 存储
3.1 存储引擎
3、InnoDB 的四大特性?
InnoDB 是 MySQL 数据库中最常用的存储引擎之一,它的四大特性通常指的是:
-
ACID 兼容性:
- 原子性 (Atomicity): 保证事务内的操作要么全部成功,要么全部失败,不会出现中间状态。例如,银行转账操作,从一个账户向另一个账户转钱,这两个操作要么同时成功,要么同时失败。
- 一致性 (Consistency): 确保数据库从一个一致的状态转换到另一个一致的状态。例如,数据库中有一个规则是所有的账户余额都不得为负,在进行任何事务之后,这个规则都必须被遵守。
- 隔离性 (Isolation): 事务的隔离性指多个事务并发执行时,一个事务的操作不会影响其他事务。例如,当两个银行存款事务并行执行时,每个事务都应该看不到对方的中间状态。
- 持久性 (Durability): 一旦事务提交,则其所做的更改将永久保存在数据库中,即使发生系统故障也不会丢失。例如,即使在事务写入数据后数据库立即崩溃,重新启动后,那些更改仍然存在。
-
支持事务:
- InnoDB 提供了完整的事务支持,遵循上述 ACID 原则。例如,你可以在一个事务中执行多个更新操作,并且可以选择提交(commit)这个事务使所有更改生效,或者回滚(rollback)事务以撤销所有更改。
-
行级锁定和外键约束:
- 行级锁定: InnoDB 支持行级锁定,这意味着在执行读写操作时,它锁定的是数据行而不是整个数据表。这种细粒度的锁定机制可以大幅度提升并发处理能力。例如,在处理一个订单表时,同时有多个用户操作不同的订单,行级锁定可以使他们互不干扰。
- 外键约束: InnoDB 支持外键,确保了数据的完整性。例如,一个订单详情表可以通过外键约束关联到订单表,以确保每个订单详情都对应一个有效的订单。
-
崩溃恢复能力:
- InnoDB 通过日志文件(如重做日志,即 redo log)来保证在崩溃后能够恢复数据。当系统崩溃时,InnoDB 可以利用这些日志来重建它在崩溃前的状态,确保数据不会丢失。
InnoDB 的这些特性使它成为了处理大量数据和高并发事务的首选存储引擎。
4、InnoDB 为何推荐使用自增主键?
自增主键是一种特殊的数据库表列&#
更多推荐
mysql 问题解答 2
发布评论