同⼀个事务⾥⾯对同⼀条数据做2次修改_⾯试基础:数据库
MySQL基础⼊门(下)
本⽂是⾯试基础的第⼆篇。本篇偏理论,包括三节:
事务和并发
数据库设计
索引
所选的三个内容均是⾯试的⾼频考察点,需要细致地理解
No.1 事务和并发
mysql删除重复的数据保留一条事务:数据库操作的基本单元。对于数据库的⼀系列操作,要么全部成功,要么全部失败
1. 事务的ACID属性
原⼦性(Atomic)
⼀个事务包含多个操作,这些操作要么全部执⾏,要么全都不执⾏。实现事务的原⼦性,要⽀持回滚操作,在某个操作失败后,回滚到事务执⾏之前的状态。
回滚实际上是⼀个⽐较⾼层抽象的概念。⼤多数DB在实现事务时,是在事务操作的数据快照上进⾏的,执⾏事务时并不修改实际的数据,只有事务完成后才会提交到数据库,完成对数据库的修改。如有错,则不会提交,所以很⾃然的⽀持回滚。
⽽在其他⽀持简单事务的系统中,不会在快照上更新,⽽直接操作实际数据。可以先预演⼀边所有要执⾏的操作,如果失败则这些操作不会被执⾏,通过这种⽅式很简单的实现了原⼦性。
⼀致性(Consistency)
⼀致性是指事务使得系统从⼀个⼀致的状态转换到另⼀个⼀致状态。事务的⼀致性决定了⼀个系统设计和实现的复杂
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论