汕头网站建设技术托管,贵阳百度快照优化排名,中煤第一建设公司网站,上海微信网站建设公司电话分析回答
如果你不知道事务更不知道四大特性请先看看#xff1a;说说什么是事务
原子性
语句要么都执行#xff0c;要么都不执行#xff0c;是事务最核心的特性#xff0c;事务本身来说就是以原子性来定义的#xff0c;实现主要是基于undo log
undo log#xff…分析回答
如果你不知道事务更不知道四大特性请先看看说说什么是事务
原子性
语句要么都执行要么都不执行是事务最核心的特性事务本身来说就是以原子性来定义的实现主要是基于undo log
undo log回滚日志是InnoDB引擎提供的日志回滚日志的作用就是对数据进行回滚。当事务对数据库进行修改InnoDB引擎不仅会记录redo log还会生成对应的undo log日志。如果事务执行失败或调用了rollback导致事务需要回滚就可以利用undo log中的信息将数据回滚到修改之前的样子。
持久性
保证事务提交之后不会因为宕机等其他的原因而导致数据的丢失主要是基于 redo log实现
redo log 采用的是 WALWrite-ahead logging预写式日志所有修改先写入日志再更新到Buffer Pool保证了数据不会因MySQL宕机而丢失从而满足了持久性要求。
隔离性
保证事务与事务之间的执行是相互隔离的事务的执行不会受到其他事务的影响。InnoDB存储引擎默认的数据库隔离级别是 RR可重复读 RR又主要是基于锁机制数据的隐藏列undo log类 以及 next-key lock机制。
隔离性的探讨主要可以分为两个方面
(一个事务)写操作对(另一个事务)写操作的影响锁机制保证隔离性 说说 MySQL 中有那些锁(一个事务)写操作对(另一个事务)读操作的影响MVCC保证隔离性 说说 MVCC 的工作原理
一致性
一致性是指事务执行结束后数据库的完整性约束没有被破坏事务执行的前后都是合法的数据状态。一致性是事务追求的最终目标原子性、持久性和隔离性实际上都是为了保证数据库状态的一致性而存在的。事务一致性的实现即需要数据库层面的保障也需要应用层面的保障。
换句话说ACID里的AID都是数据库的特征也就是依赖数据库的具体实现。而唯独这个C实际上它依赖于应用层也就是依赖于开发者。这里的一致性是指系统从一个正确的状态迁移到另一个正确的状态。什么叫正确的状态呢就是当前的状态满足预定的约束就叫做正确的状态。而事务具备ACID里C的特性是说通过事务的AID来保证我们的一致性。 喵呜面试助手一站式解决面试问题你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] - 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享