MySQL事务--A8站源码交易平台

  • 时间:2020-03-30 11:02 编辑:益达 来源:原创 阅读:492
  • 扫一扫,手机访问
摘要:ySQL支持业务主动提交 运用begin 或 start transaction封闭主动提交机制,开启业务 rollback 回滚 commit 提交业务 设置、检查业务的大局阻隔等级

A8站源码交易平台
基本概念

· 和业务相关的句子只要DML句子(insert delete update)
· 业务是逻辑上的一组操作,要么都履行,要么都不履行
· 最经典的转账事例:小明给小红转账1000元。其中就涉及两个关键操作:小明余额减少1000元,小红余额添加1000元,业务便是要确保二者一起成功或失败

业务的四大特性 (ACID)

原子性(Atomicity): 业务是最小的履行单位,不答应分割
一致性(Consistency): 业务必须确保多条DML句子一起成功或一起失败
阻隔性(Isolation): 各个业务的履行互不干扰,并发履行的业务不会互相影响
持久性(Durability): 一个业务被提交之后。它对数据库中数据的改变是持久的,即便数据库发生毛病也不应该对其有任何影响。

业务的阻隔等级

第一等级: 读未提交(Read Uncommitted)
最低的阻隔等级,答应读取没有提交的数据改变
可能会导致脏读、幻读或不可重复读
第二等级: 读已提交(Read Committed)   (Oracle默许的阻隔等级)
答应读取并发业务已经提交的数据
可以阻挠脏读, 但是幻读或不可重复读仍有可能发生
第三等级: 可重复读(Repeateable Read)    (MySQL默许的阻隔等级)
对同一字段的屡次读取成果都是一致的,除非数据是被自身业务自己所修改
可以阻挠脏读和不可重复读,但幻读仍有可能发生
第四等级: 序列化读/串行化读(Serializable)
最高的阻隔等级,完全遵守ACID的阻隔等级。所有的业务顺次逐一履行,这样业务之间就完全不可能产生干扰。
可以防止脏读、不可重复读以及幻读。A8站源码交易平台
问题:功率低,业务需求排队履行

并发业务带来的问题

脏读(Dirty Read): 当一个业务正在拜访数据而且对数据进行了修改,而这种修改还没有提交到数据库中,这时别的一个业务也拜访了这个数据,然后运用了这个数据。因为这个数据是还没有提交的数据,那么别的一个业务读到的这个数据是 “脏数据” ,根据 “脏数据” 所做的操作可能是不正确的

不可重复读(Unrepeatable Read): 指在一个业务内屡次读同一数据。在这个业务还没有结束时,另一个业务也拜访该数据。那么,在第一个业务中的两次读数据之间,由于第二个业务的修改导致第一个业务两次读取的数据可能不相同。这就发生了在一个业务内两次读到的数据是不一样的情况,因而称为不可重复读。

幻读(Phantom Read): 幻读与不可重复读相似。它发生在一个业务(T1) 读取了几行数据,接着另一个并发业务(T2) 插入了一些数据时。在随后的查询中,第一个业务(T1) 就会发现多了一些原本不存在的记载,就好像发生了幻觉一样,所以称为幻读。

注意:

不可重复读和幻读的差异:
· 不可重复读的要点是修改比方屡次读取一条记载发现其中某些列的值被修改
· 幻读的要点在于新增或者删去比方屡次读取一条记载发现记载增多或减少了。


e69ed20d681d4248e6ce8c7a5f2679c.png
A8站源码交易平台--业务操控

MySQL支持业务主动提交
运用begin 或 start transaction封闭主动提交机制,开启业务
rollback 回滚
commit 提交业务
设置、检查业务的大局阻隔等级
例: set global transaction isolation level Serializable; 设置阻隔等级为串行化读
select @@global.transaction_isolation; 检查阻隔等级

A8站源码交易平台

  • 全部评论(0)
最新发布的资讯信息
【A8站-免费源码分享|直播源码】直播系统源码开发:关于安卓开发工具和obs直播推流(2020-10-30 09:41)
【计算机/互联网|】【独家修复】用户定制版短视频点赞系统,支持抖音+快手+刷宝+微视等所有主流短视频评论系统源码(2020-10-26 16:34)
【技术宅-为技术而疯|网站架设教程】【独家首发】最新更新已对接短信2020全新抖音快手点赞任务系统霸屏天下小红书头条威客兼职完整搭建架设视频教程(2020-10-25 13:56)
【技术宅-为技术而疯|网站架设教程】最新可用个人发卡网系统源码完整搭建架设视频教程(2020-10-25 10:53)
【技术宅-为技术而疯|网站架设教程】独家更新全新V10抢单系统唯品会京东淘宝自动抢单区块系统源码全开源抢单收单接单返利+搭建架设完整视频教程(2020-10-25 10:52)
【计算机/互联网|】柔丫纸尿裤云仓系统源码部署(2020-10-15 18:13)
【计算机/互联网|】侏罗纪软件模式定制开发(2020-10-14 15:33)
【计算机/互联网|】S2b2C供应商系统 营销闭环(2020-10-10 17:46)
【计算机/互联网|程序设计开发】盛都汇系统奖励机制(2020-10-10 17:20)
【A8站-免费源码分享|网站源码】积分商城系统APP开发(2020-09-23 14:56)
联系我们
Q Q:3101359898 点击直接对话
电话:18580901894
邮箱:admin#a8zhan.com
时间:09:00 - 24:00
手机二维码 访问手机版
返回顶部