首页 > 数据库 >mysql 事务隔离级别

mysql 事务隔离级别

时间:2024-11-06 21:42:49浏览次数:4  
标签:事务 隔离 -- READ 提交 mysql 级别 读取

在数据库中两个事务并发执行的时候会产生以下问题:

  • 脏读:当有事务修改了一条记录但未提交,另一事务读取该记录前后结果不一致
  • 不可重复读:当有事务修改了一条记录并且已经提交,另一事务前后读取该记录前后结果不一致
  • 幻读:当有事务新增了记录并且已经提交,另一事务中前后查出记录数不一致

Mysql 对应的事务隔离级别就有:

  • 读未提交:会产生脏读(解释:事务未提交前另一个事务即可读取更新数据)
  • 读已提交:会产生不可重复读(解释:事务提交后另一个事务即可读取更新数据)
  • 可重复读:会产生幻读(解释:事务提交后另一个事务即可读取新增记录)
  • 串行化:可避免上述三个问题发生

Mysql 默认的事务隔离级别为:可重复读

 

Mysql 事务相关命令

-- 查询事务自动提交状态
SHOW VARIABLES LIKE 'autocommit';

-- 设置查询事务自动提交状态,0:不自动提交,1:自动提交
SET autocommit = 0;

-- 查看事务隔离级别,mysql 默认为可重复读:REPEATABLE-READ
select @@transaction_isolation;

-- 设置 READ-UNCOMMITTED 读未提交
set session transaction isolation level read uncommitted;

-- 设置 READ-COMMITTED 读已提交
set session transaction isolation level read committed;

-- 设置 REPEATABLE-READ 可重复读(默认的事务隔离级别)
set session transaction isolation level repeatable read;

 

 

资料参考:

https://cloud.tencent.com/developer/article/2194424

标签:事务,隔离,--,READ,提交,mysql,级别,读取
From: https://www.cnblogs.com/baokang/p/18531108

相关文章

  • mysql的 information_schema 数据库介绍
    information_schema是MySQL中的一个系统数据库,它提供了关于数据库元数据的信息。元数据是指描述数据库结构和内容的数据,例如表、列、索引、用户权限等。information_schema数据库是只读的,用户不能对其进行修改。位置information_schema数据库存在于每个MySQL实例中,不需要......
  • MySQL性能抖动
    当内存数据页跟磁盘数据页内容不一致的时,称这个内存页为“脏页”。内存数据写入磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。平时执行很快的更新操作,就是在写内存和日志,而MySQL偶尔抖一下,可能是在刷脏页。刷脏页的时机redolog写满了,数据库停止所有更新操作,将......
  • MySQL 删除数据 批量删除(大量)数据
    目录一、删除大表的部分数据二、删除带索引的表三、MySQL中的表的删除操作一、删除大表的部分数据一个表有1亿6000万的数据,有一个自增ID。最大值就是1亿6000万,需要删除大于250万以后的数据,有什么办法可以快速删除?看到mysql文档有一种解决方案:http://dev.mysql.com/doc......
  • MySQL 字符串索引和前缀索引
    前缀索引创建前缀索引altertabletaddindexidx_email(email);altertabletaddindexidx_email(email(6));使用前缀索引,定义好长度,可以做到即节省空间,又不用额外增加太多查询成本。区分度建立索引时,区分度(不重复的值)越高越好。selectcount(distanceemail)fromt......
  • DolphinScheduler 限制秒级别的定时调度
    背景DolphinScheduler定时任务配置采用的7位Crontab表达式,分别对应秒、分、时、月天、月、周天、年。在团队日常开发工作中,工作流的定时调度一般不会细化到秒级别。但历史上出现过因配置的疏忽大意而产生故障时间,如应该配置每分钟执行的工作流被配置长了每秒执行,造成短时......
  • centos7安装mysql80
    安装1.添加MySQL8.0的官方YUM仓库MySQL8.0没有默认包含在CentOS7的官方仓库中,因此需要手动添加MySQL的官方仓库。yuminstallwget-ywgethttps://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpmrpm-ivhmysql80-community-release-el7-11.n......
  • mysql5安全审计
    安装插件插件需要严格与数据库版本适配,不然安装过程中会出现问题解压插件cd插件所在路径unzipaudit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip#查看mysql默认插件目录mysql>SHOWGLOBALVARIABLESLIKE'plugin_dir';#将插件移动到mysql默认插件目录下cp......
  • mysql 连接查询之内连接、外连接 代码示例
    mysql连接查询可以分为内连接与外连接,外连接又分为左外连接和右外连接,左外连接可以简称为左连接,右外连接可以简称为右连接表数据如下学生表:student学生课程:student_course内连接:将两表满足条件的记录进行笛卡尔乘积--以下3个查询等效,均为内连接select*fromstudentinn......
  • mysql根据一个表的数据更新另一个表数据的SQL写法
    ql中更新表数据的通用方法包括:使用join语句,匹配两个表并更新目标表的指定列;使用子查询,获取源表中匹配行的值并更新目标表;使用merge语句(mysql8.0及更高版本),合并两个表并按条件更新或插入数据。 根据一个表的数据更新另一个表数据的SQL写法最近大家都在看MySQLupda......
  • MySQL核心业务大表归档过程
       记录一下2年前的MySQL大表的归档,当时刚到公司,发现MySQL的业务核心库,超过亿条的有7张表,最大的表有9亿多条,有37张表超过5百万条,部分表行数如下:        在测试的MySQL环境 :   pt-archiver工具,测试200的dev实例,5800万条数据,纯删除1000万条数据,花费......