mysql事务的四大特性ACID
1.原子性A:保证所有操作要么全部执行成功,要么全都不执行
2.一致性C:保证数据库前后都保证一致性的状态
3.隔离性I:事务不会被其他事务干扰,事务之间是隔离的
4.持久性D:一旦事务提交成功,其对数据的修改是持久性的
mysql事务的持久性通过什么方式实现
redo log实现事务的持久性
通过以下几个方面实现:
1.写入顺序:redo log是顺序写入,事务的修改操作按照顺序记录在redo log中,比随机写 入数据文件方式更高效
2.写入到磁盘:在事务提交之前,redo log中的记录会先被写入到磁盘文件中,即使数据库发生崩溃,redo log中的记录依然可以被恢复,保证了事务的持久性
3.检查点机制:使用检查点机制进一步保证事务的持久性
将内存中的数据刷新到磁盘上的数据文件中
mysql会在检查点之前将redo log中的记录写入到磁盘上的redo log文件中,再将内存中的数据刷新到磁盘上的数据文件中,这样即使在检查点之前发生数据库崩溃redo log中的记录仍可以恢复