正文
mysql原子性怎么回事 mysql原则
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
数据库事务原子性,一致性是怎样实现的
原子性mysql原子性怎么回事:一个事务内的所有SQL操作是一个整体。都执行成功才算整个事务成功。如果某个失败mysql原子性怎么回事,则必须要会退到事务执行之前的状态,执行成功的SQL需要被撤销。
innodb通过undo log和redo log来实现。
事务中,每当执行一条SQL语句对数据产生了影响,就会记录下来与之相反的操作到undo log(撤销日志)中,例如,更新会记录之前的状态,删除会形成insert,添加会形成delete,一旦事务被回滚,则执行undo log中记录的操作,来完成恢复到之前的状态。这里是个 逻辑恢复哦!同时,每当执行一条事务中的SQL,会将操作记录到redo log中,此时事务一旦被提交,就将该redolog中的操作,持久化到磁盘上,数据就持久的记录下来了(ACID的D)。
PS:还有,undolog才是原子性的关键。提供redolog,应该主要目的是提升磁盘的IO开销吧,如果直接写入磁盘,IO开销,会很大。如果先将操作记录到redolog中,可以顺序的记录,批量的记录,再一起同步到磁盘上,速度会比直接写磁盘快些。 mysql在生成redolog时,会使用 innodb log buffer,先缓冲到内存中,再同步到redolog上,速度会更快。
另外关于,一致性,应该是个整体概念,保证所有的mysql对象(数据,索引,约束,日志,用户)在事务执行前后都具有完整的特性,应该是mysql所有的功能都为此服务吧!
mysql的四大特性
1、原子性:在整个操作的事务中,要么全部成功,要么全部失败。
2、隔离性:所谓隔离性,就是每个事务执行的时候,相互之间不会受到影响,都是单独的事务。
3、一致性:也就是说事务在执行之后,必须和之前的数据保持一致。
4、持久性:事务一旦提交,就会持久化到数据库中,不能回滚。
mysql里面原子性是什么意思?
执行一条语句,要么全部成功、否则全部失败,不会产生部分成功的情况,主要是指修改、删除语句,例如DELETE FROM TEST,当删除一部分的时候遇到问题会取消操作,一条也不删除。
mysql中,事物的特点有哪些?
MySQL事务基本上都有四大特点:1.原子性:每个事务都是一个整体,不可分割。2.一致性:一个事务要么全部提交,要么全部回滚。3.隔离性:事务直接不能相互影响。4.永久性:事务一旦提交,数据永久存在与磁盘中。
关于mysql原子性怎么回事和mysql原则的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。