首页 > 其他分享 >事务的相关知识

事务的相关知识

时间:2023-04-27 10:47:15浏览次数:29  
标签:事务 隔离 记录 -- 知识 提交 相关 id

事务相关概念

事务是一组操作的集合,这些操作要么一起提交成功,要么一起失败;

事务的四大特性:ACID:

原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。

一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。

隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立 环境下运行。

持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。 上述就是事务的四大特性,简称ACID。

事务并发问题

脏读:事务A读取了事务B未提交的数据。

不可重复度:事务A两次读取同一条数据的结果不一样;

幻读:一个事务查询时没有发现记录R,但插入记录R时却无法插入,再次查询R时仍未发现。这称为幻读。

  1. 开启事务A,查询id为5的记录,结果是没有该记录;
  2. 开启事务B,插入id为5的记录,并提交;
  3. 事务A,插入id为5的记录,提示主键冲突,说明id为5的记录存在
  4. 事务A,再次查询id为5的记录,结果仍然没有该记录;

总结:对于事务A来说,id为5的记录不存在,但却插入不上,这就是幻读。

事务的隔离级别

隔离级别 脏读 不可重复读 幻读
Read uncommitted (读未提交) 会出现 会出现 会出现
Read committed (读已提交,Oracle默认) 能解决 会出现 会出现
Repeatable Read(可重复读,MySQL默认) 能解决 能解决 会出现
Serializable (串行化) 能解决 能解决 能解决

事务的隔离级别由上表,从低到高,隔离级别越高性能越差

MySQL事务相关操作

START TRANSACTION 或 BEGIN ;--开启事务
commit;--提交事务
rollback;--回滚事务
 SELECT @@TRANSACTION_ISOLATION;--查看事务的隔离级别
 
 --修改事务的隔离级别
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED |
READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

标签:事务,隔离,记录,--,知识,提交,相关,id
From: https://www.cnblogs.com/SYF--BLOG/p/17358242.html

相关文章

  • ChatGPT的提示的一些高级知识
    作为一个大型语言模型(LLM)接口,ChatGPT有令人印象深刻的潜力,但是真正能否用好取决与我们的提示(Prompt),一个好的提示可以让ChatGPT晋升到一个更好的层次。在这篇文章中,我们将介绍关于提示的一些高级知识。无论是将ChatGPT用于客户服务、内容创建,还是仅仅为了好玩,本文都将为你提供......
  • 小程序相关网址记录
    小程序图表组件uCharts: https://www.ucharts.cn/v2/#/document/index小程序相关组件uView: https://www.uviewui.com/components/intro.html小程序相关配置的API参考,uni-app官网: https://uniapp.dcloud.net.cn/collocation/pages.html#globalstyle小程序背景图片设置方......
  • 基于Java开发支持全文检索、工作流审批、知识图谱的应用系统
    一、项目介绍一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,应用在需要进行常用文档整理、分类、归集、检索的地方,适合知识密集型单位/历史文档丰富的单位,或者大型企业、集团。为什么建立知识库平台?二、项目所用技术springboot+vue+tinyMce+activiti+elastics......
  • 小知识:使用errorstack定位特定问题
    有客户遇到ORA-2289的报错,同事协助去现场排查,我帮着远程共同check下。客户只是应用端报出的错误,为了进一步定位,服务端需要开errorstack协助定位具体问题。下面就以这个ORA-2289为例,示范下errorstack的使用方法。--开启errorstackaltersystemsetevents'2289tracenameerr......
  • 毕设相关问题
    Stride的作用:是成倍缩小尺寸,而这个参数的值就是缩小的具体倍数,比如步幅为2,输出就是输入的1/2;步幅为3,输出就是输入的1/3。卷积神经网络(CNN)有卷积层和池化层结构,这两层结构是CNN的重要组成部分。卷积层就是通过若干个卷积核对上一层输入进行扫描,从而在较大程度上提取原始像素矩阵......
  • spring jdbc 编程式事务
    所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。新建maven工程,pom文件如下:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http:/......
  • logseq 开源知识管理平台
    logseq是一个开源的知识管理平台特性任务管理pdf注释Flashcards白板同时支持不少插件说明对于希望搭建自己知识库的是一个不错的选择,同时官方的文档就是一个可以快速体验的入口参考资料https://github.com/logseq/logseqhttps://plugins-doc.logseq.com/https://hub......
  • spring jdbc 声明式事务
    Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中申明。用在Spring配置文件中声明式的处理事务来代替代码式的处理事务。这样的好处是,事务管理不侵入开发的组件,具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如此,因为事......
  • DELL OMSA 使用相关文档说明
    1.什么是DELL OMSADellOpenManageServerAdministrator,可以查看服务器的硬件、软件信息2.关于OMSA使用文档支持DellEMCOpenManageServerAdministrator(OMSA) 戴尔服务器专业知识:使用OMSA和OME管理多个服务器3.Esxi安装版本下载:适用于ESXi6.0的Del......
  • Linux 字体管理相关操作
    查看已经安装的字体fc-list#提示不是命令则先安装包fontconfigyum-yinstallfontconfig下载党政机关字体党政机关字体提取码:xixv在进入目录/usr/share/fonts/winfonts没有则创建,刷新字体库sudofc-cache–fv再次查看已经安装的字体fc-list/usr/shar......