首页 > 数据库 >【Mysql】事务的基本特性和隔离级别

【Mysql】事务的基本特性和隔离级别

时间:2022-09-18 17:11:42浏览次数:103  
标签:事务 读取 read 提交 Mysql 一致性 级别 隔离

事务的基本特性ACID分别是:
原子性(atomicity)指的是一个事务中的操作要么都成功,要么都失败。
一致性(consistency)指的是数据库总是从一个一致性状态转移到另外一个一致性状态。比如A转账给B100块钱,假设A只有90块,支付之间我们数据库里面的数据都是符合约束的,但是如果事务执行成功了,我们的数据库数据就破坏了约束,因此事务不能成功,这里我们说事务提供了一致性的保证。
隔离性(isolation)指的是一个事务的修改在最终提交之间,对其他事务是不可见的
持久性(durability)指的是一旦事务提交,所作的修改就会永远保存在数据库中

隔离性有四个隔离级别,分别是:

  • read uncommit 读未提交,可能会读到其他事务未提交的数据,也叫做脏读。

用户本来应该读取到id=1的用户age应该是10,结果读取到了其他事务还没有提交的事务,读取结果age=20,这就是脏读

  • read commit 读已提交,两次读取结果不一致,也叫做不可重复度

读已提交解决了脏读问题,他只会读取已经提交的事务
用户A开启事务读取id=1用户,查询到age=10,再次读取发现结果=20,在同一个事务里面查询到不同的结果叫做不可重复读。

  • repeatable read 可重复读,这是mysql的默认级别,就是每次读取结果都一样,但是有可能产生幻读。
  • serializable 串行化,一般不会使用,他会给每一行读取的数据加锁,会导致大量超时和锁竞争的问题。

标签:事务,读取,read,提交,Mysql,一致性,级别,隔离
From: https://www.cnblogs.com/cuipengchong/p/16705238.html

相关文章

  • MySQL的日志模块
    一、redologMySQL里经常说到的WAL技术,WAL的全称是Write-AheadLogging,它的关键点就是先写日志,再写磁盘。(“先写日志”也是先写磁盘,只是写日志是顺序写盘,速度很快......
  • 【MySQL】什么是Mysql执行计划
     执行计划是Mysql如何执行一条sql语句,包括sql查询顺序、是否使用索引、索引信息、查询命中率等信息。基本语法explainselect...InnoDb引擎的执行计划内容id:由一组......
  • 主从复制报错Fatal error:The slave I/O thread stops because master and slave have
    异常在MySQL中开启主从复制失败:原因先确定主机和从机的server-id是否不一样,如果一样也会导致主从复制失败。主机和从机的server-id在/etc/my.cnf配置文件中配置的,下面......
  • 记一次mysql数据被恶意篡改的恢复
    客户员工与客户公司产生了矛盾离职,离职的时候系统账号权限还未收回,此员工使用账号登录系统之后恶意篡改用户数据被发现。系统本身做了mysql主从同步,但是因为是恶意篡改数......
  • SpringBoot校园博客系统 博客管理系统 开源博客系统 个人博客系统Java Vue MySQL数据
    ......
  • MySQL数据备份 mysqldump 详解
    MySQL数据备份流程1打开cmd窗口通过命令进行数据备份与恢复;需要在Windows的命令行窗口中进行;l 开始菜单,在运行中输入cmd回车;l 或者win+R,然后输入cmd回车,即......
  • mysql基础命令
    MySQL数据库入门——常用基础命令  1、使用帮助信息  登陆数据库就不介绍了哦  比如说想做创建的数据库的操作,不知道命令,就可以查看帮助信息 mysql>......
  • MySQL常见字符串截取小结
    MySQL截取字符串常见函数有:left()、right()、substring()、substring_index()。从左侧截取字符串用法:left(str,length)描述:left(被截取字符串,截取长度)SELECTLEFT('......
  • 第二十一章 MySQL数据库优化
    一、数据硬件优化(选型)1.数据库选择1.真实的硬件物理机,虚拟化,搭建数据库2.云服务器ECS,自己搭建数据库3.云数据库(RDS,DRDS)2.数据库类型1.OLTP 在线事务处理系统,支持大......
  • MySQL EXPLAIN详解
    Explain简介本文主要讲述如何通过explain命令获取select语句的执行计划,通过explain我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引......