事务和线程的区别还有事务并发执行引起的四个问题:丢失修改、脏读、不可重复读,幻读
来源:互联网 发布:sqlserver 认证 编辑:程序博客网 时间:2024/06/05 21:58
事务和线程的区别:
1、线程一定是并发执行的,但是事务可以串行执行;
2、事务是可以撤销的。
事务并发执行,不加锁,会引起的四个问题:(线程不加锁也会因此这四个问题)
1、丢失修改
事务T1,T2读取同一个数据,之后先后将修改的内容,写回数据库,会导致一个事务丢失修改。
例子:
数据a = 1;
T1, T2对a加1, 先后将读取a的之后, 又先后将2写进a,这样导致丢失修改。正确的a的值应该是3。
2、脏读
T1修改某个数据a,这是T2去读,之后T1撤销事务,a回到原来的值,这是T2读到的a的值就是一个错误的值,即脏数据。
3、不可重复读
T1读取了一个数据之后,之后T2修改了这数据,T1在读这个数据,发现和之前读的不相同。
4、幻读
T1按照某个条件从数据库中查找出了某些数据,之后T2对表的记录进行插入和删除,T1在按相同的条件从数据库中,查找数据,发现记录条数多了或者少了,就像出现幻觉一样。
0 0
- 事务和线程的区别还有事务并发执行引起的四个问题:丢失修改、脏读、不可重复读,幻读
- 数据库事务丢失修改,不可重复读,读"脏"数据的区别
- 事务的 不可重复读
- Spring 五个事务隔离级别和七个事务传播行为和数据读取出现的四个问题(丢失或覆盖更新、脏读、非重复读、幻想读)
- 数据库并发事务存在的问题(脏读、不可重复读、幻读等)
- 事务相关、不可重复读与幻读的区别
- 事务产生的脏读幻读不可重复读
- MySQL事务的不可重复读
- 数据库事务,脏读、不可重复读、幻读
- java事务--脏读、不可重复读、幻读
- 事务 脏读 幻读 不可重复读
- 事务的脏读、幻读、不可重复读的理解
- 数据库事务和隔离级别(重点,不可重复读和可重复度的区别)
- mysql事务隔离级别以及有问题的读取(脏读,不可重复读,幻象读)
- mysql事务隔离级别以及有问题的读取(脏读,不可重复读,幻象读)
- mysql事务隔离级别以及有问题的读取(脏读,不可重复读,幻象读)
- mysql事务隔离级别以及有问题的读取(脏读,不可重复读,幻象读)
- 脏读 幻读 不可重复读的区别
- 优雅地为RecyclerView加上头部、下拉刷新、自动加载
- Java Map 按Key排序
- shell 和 python3 :Word Frequency(leetcode192-t11.sh)
- 高并发实时直播弹幕研发实践|架构师实践日
- ssh免密码设置
- 事务和线程的区别还有事务并发执行引起的四个问题:丢失修改、脏读、不可重复读,幻读
- 实现分组+固定表头的ListView之PinnedHeaderListView
- hdu2955 Robberies
- Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战
- 开始第一篇博客
- java发送Email邮件
- sdvbsvb
- TCP协议传输运用
- python实现Execl转csv方法收集