美文网首页sql
事务隔离级别

事务隔离级别

作者: IT雪山 | 来源:发表于2021-04-06 14:03 被阅读0次

SQL 标准定义了四种隔离级别,MySQL 全都支持。这四种隔离级别分别是:
从上往下,隔离强度逐渐增强,性能逐渐变差

1 读未提交(READ UNCOMMITTED

MySQL 事务隔离其实是依靠锁来实现的,加锁自然会带来性能的损失。而读未提交隔离级别是不加锁的,所以它的性能是最好的,没有加锁、解锁带来的性能开销。但有利就有弊,这基本上就相当于裸奔啊,所以它连脏读的问题都没办法解决。

2 读提交 (READ COMMITTED

读提交就是一个事务只能读到其他事务已经提交过的数据,也就是其他事务调用 commit 命令之后的数据。那脏数据问题就解决了。读提交事务隔离级别是大多数流行数据库的默认事务隔离界别,比如 Oracle,但是不是 MySQL 的默认隔离界别

3 可重复读 (REPEATABLE READ)

事务不会读到其他事务对已有数据的修改,即使其他事务已提交,也就是说,事务开始时读到的已有数据是什么,在事务提交前的任意时刻,这些数据的值都是一样的。但是,对于其他事务新插入的数据是可以读到的,这也就引发了幻读问题。

4 串行化 (SERIALIZABLE)

串行化是4种事务隔离级别中隔离效果最好的,解决了脏读、可重复读、幻读的问题,但是效果最差,它将事务的执行变为顺序执行,与其他三个隔离级别相比,它就相当于单线程,后一个事务的执行必须等待前一个事务结束。

截屏2021-04-06 10.17.40.png

查看事务隔离级别
show variables like 'transaction_isolation';
设置全局事务隔离级别
set global transaction isolation level read committed;
设置当前会话事务隔离级别
set session transaction isolation level repeatable read;

互联网项目中mysql该如何选择

Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不需要修改吗?
先说结论:互联网项目请用:读已提交(Read Commited)这个隔离级别!

Read UnCommitted:一个事务读到另一个事务未提交读数据,肯定不合适
Serializable:每个次读操作都会加锁,快照读失效,性能不佳
原因一:
在RR隔离级别下,存在间隙锁,导致出现死锁的几率比RC大的多!
原因二:
在RR隔离级别下,条件列未命中索引会锁表!而在RC隔离级别下,只锁行

相关文章

  • Spring 中的事务隔离级别

    什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执...

  • MySQL_tx_isolation

    事务隔离级别 一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、...

  • MySQL事务隔离级别和实现原理,看这一篇就够了!!!

    经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么...

  • 面试题

    基础知识 1、事务隔离级别 补充: 1、事务隔离级别为读提交时,写数据只会锁住相应的行 2、事务隔离级别为可重复读...

  • 数据库事务相关

    事务隔离级别(tx_isolation)mysql 有四级事务隔离级别 每个级别都有字符或数字编号 级别symbo...

  • 关于Spring的事务Transactional,锁同步,并发线

    Spring事务传播机制和数据库隔离级别 在标准SQL规范中定义了4个事务隔离级别,不同隔离级别对事务处理不同 。...

  • Mysql事务

    事务隔离级别 事务隔离级别有四种:read-uncomitted,read-commited,repeatable...

  • mysql事务-2020-11-21

    use test查询事务隔离级别:select @@tx_isolation; 设置事务隔离级别://全局的set...

  • MYSQL事务

    常用语句 MYSQL事务,锁表 事务控制语句 事务的隔离级别 隔离级别描述产生风险READUNCOMMITTED ...

  • 事务

    事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition 接口中定义了...

网友评论

    本文标题:事务隔离级别

    本文链接:https://www.haomeiwen.com/subject/nolskltx.html