首页 > 其他 > 详细

简单事务

时间:2019-02-13 23:17:03      阅读:192      评论:0      收藏:0      [点我收藏+]

事务

一、事务的特性(ACID)

1、原子性(Atomicty)
        原子性是指事务是一个不可分割的工作单位,事务种的操作要么都发生,
        要么都不发生。
2、一致性(Consistency)
        事务前后数据的完整性必须保持一致。
3、隔离性(Isolation)
        事务的隔离性是指多个用户并发访问数据库时,一个用户的事务不能被其
        他用户的事务所干扰,多个并发事务之间数据要相互隔离。
4、持久性(Durability)‘
        持久性是指一个事务是一旦被提交,它对数据库中的数据的改变。
        就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

二、并发访问问题--由隔离性引起

如果不考虑隔离性,事务存在3中并发访问问题。
1、脏读:B事务读取到了A事务尚未提交的数据 
    ---- 要求B事务要读取A事务提交的数据
2、不可重复读:一个时间中 两次读取的数据的内容不一致 
    ---- 要求的是一个事务中多次读取时数据是一直的。 --- update
3、幻读/虚读:一个事务中 连词读取的数据的数量不一致
    ---- 要求在一个事务多次读取的数据的数量是一致的。
    ---- insert delete

三、事务的隔离级别

1、read uncommitted:读取尚未提交的数据:
    哪个问题都不能解决
2、read committed:读取已经提交的数据:
    可以解决脏读
3、repeatable read:重读读取:
    可以解决脏读和不可重读
4、serializable:串行化:
    可以解决 脏读 不可重复度 和 虚度

四、MySQL事务

start transaction;  --开启事务
rollback;  --回滚
commit; -- 提交

set session transaction isolation level read committed;
    --- 设置会话事务的隔离级别

隔离级别的性能:

read uncommitted > read committed > repeatable read > serializable

简单事务

原文:https://www.cnblogs.com/guanzhigu/p/10372183.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!