事务知识点补充(ACID和数据库隔离级别)
来源:互联网 发布:换头型软件 编辑:程序博客网 时间:2024/05/19 13:13
数据库事务正确执行的四个基本要素:
1.原子性:简单说就是: 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。
2.一致性:事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。事务一旦完成,涉及业务需处于一直一致的状态,例如:如果事务是并发多个,系统也必须如同串行事务一样操作。其主要特征是保护性和不变性(Preserving an Invariant),以转账案例为例,假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,如果在这个5个账户之间同时发生多个转账,无论并发多少个,比如在A与B账户之间转账5元,在C与D账户之间转账10元,在B与E之间转账15元,五个账户总额也应该还是500元,这就是保护性和不变性
3.隔离性:多个事务处理相同的数据,之间应该隔离,防止数据损坏。隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。
4.持久性:在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。事务结束后,数据已经持久化,只要不是新的事务变动了数据,那么不论发生什么其他的变故,数据都能复原。
数据库的隔离级别:
1,脏读:两个事务T1,T2, T1读取了T2修改但还未提交事务的数据,若之后,T2进行了回滚操作,则T1读取的的内容无效
2,不可重复读:两个事务T1,T2, T1读取了数据,然后T2更新了该数据,然后T1再读取数据,两次返回的值不同了
3,幻读:两个事务T1,T2, T1读取了某表的数据,T2对该表进行了新增或删除操作,然后T1再次读取数据,得到的数据多了或者少了
23的区别就在于,一个是数据的内容变了,一个是数据的条目变了
阅读全文
0 0
- 事务知识点补充(ACID和数据库隔离级别)
- 数据库事务 ACID 和 隔离级别
- 数据库(一):ACID,事务,隔离级别
- 数据库事务的ACID特性和隔离级别
- 数据库中事务的四大特性(ACID)和隔离级别
- 事务的四大特性(ACID)和 隔离级别
- 理解事务的ACID和隔离级别
- 事务的ACID和四个隔离级别
- 数据库事务的四大特性(ACID)及事务隔离级别
- 数据库事务隔离级别,ACID,spring事务传播性
- 数据库中事务的四大特性(ACID),事务的隔离级别
- 数据库中 事务的四大特性(ACID),事务的隔离级别。
- 数据库中事务的四大特性(ACID) and 事务的隔离级别。
- 数据库事务的四大特性(ACID)以及事务的隔离级别
- 【数据库】——事务ACID及隔离级别
- 数据库事务和隔离级别
- MySQL高级 之 事务(ACID特性 与 隔离级别)
- 数据库事务和事务隔离级别
- LeetCode -- 70. Climbing Stairs
- kernel移植——从三星官方内核开始移植
- 爱测未来移动-iTest特色功能介绍
- Struts2+Spring+Mybatis 配置讲解
- 项目day01-1
- 事务知识点补充(ACID和数据库隔离级别)
- 导出数据库
- Variable has existed/does not exist ,Did you mean to set reuse=True/None?
- Sass使用for循环
- 如何使用retrofit2网络框架
- 外观模式-Facade
- OPC client 编写预备知识
- 软编码Flv 到Mp4 容器(五) fmp4 ftyp box 和moov>mvhd box详解
- java 正则表达式\\b