美文网首页SQL开发手册
数据库四大隔离级别

数据库四大隔离级别

作者: 筑梦_Dream | 来源:发表于2019-11-04 14:06 被阅读0次

首先定义四大隔离级别要解决的三种情况:脏读,不可重复读,幻读

  1. 脏读:事务A读到了事务B未提交的事务数据。

例:A正在给B转账,此时A把钱转到了B账户但A事务还没提交,此时B去查询,发现了这笔转账,开开心心去消费,此时A发现自己多打个0,事务回滚,此时B欲哭无泪,心酸Ing。

  1. 不可重复读:事务A多次读取同一笔数据,结果不完全一致

例:A在一个事务内读取一笔数据,此时B修改了这笔数据,并且提交了事务,A再次读取这笔数据,发现两次读取到的结果并不一致,看来真的是不可重复读啊!和可重复读正好相反。

  1. 幻读:一个事务两次读取一定范围内的数据,结果个数不一致(不可重复读侧重单笔记录的细节,这个侧重整体个数)。

例:A查询一批数据,返回50笔记录,此时B又在此条件内添加了或删除一笔数据并提交,A再次读取,可能就是51或49笔了。

好了,下面看一下数据库针对这三种问题,设计的四种隔离级别

  1. read uncommited:读未提交,安全性最低,上述三种情况都可能出现。
  2. read commited:读已提交,避免了脏读的出现,因为它只允许读到其他事务已经提交的数据,但避免不了不可重复读和幻读。
  3. repeatable read:可重复读,注意,这是数据库让你放心的重复读,避免了不可重复读的情况,这种级别数据库在你读这笔数据的时候,在一个事务内,再读一次还是同样的结果,即使在这期间有另一个事务对这笔数据更改了,但避免不了幻读。
  4. serializable:序列化,事务的操作都会串行,也就是说不管几个事务要干啥,都排队一个个来,解决了三种情况。

以上四种隔离级别,虽然依次解决的问题越来越好,但是性能也是不断下降,所以要根据实际情况设置,一般默认就好。

相关文章

  • 数据库事务的四大特性以及事务的隔离级别

    数据库事务的四大特性以及事务的隔离级别

  • MySQL基础知识

    数据库事物四大特性 原子性 一致性 隔离性 持久性 事物四大隔离级别 read uncommited (读未提交)...

  • 造火箭基础篇-数据库

    数据库事物 数据库事物的四大特性?1 原子性 2 隔离性 3 持久性 4 一致性 数据库隔离级别?1 read-u...

  • MySQL 事务隔离级别

    一、MySQL 数据库命令 查看数据库版本: 查看数据库现在的隔离级别 修改隔离级别: 级别参数:1.READ-U...

  • MySQL_tx_isolation

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

  • MySQL数据库相关操作

    一、数据库隔离级别 查询数据库当前隔离级别 修改隔离级别 二、常用进程、锁命令 查看进程id 查询正在执行的进程 ...

  • Mysql事务隔离级别随笔

    初步结论: 1.数据库隔离级别是为了有效的控制并发读取数据的正确性。2.事务隔离级别大致可按照如下四大需求定义:可...

  • 3、事务

    事务具有四大特性:原子性、一致性、隔离性、持久性;两大属性:隔离级别、传播行为。1、事务四大特性数据库如果支持事务...

  • 聊聊MySQL的隔离级别

    原文:聊聊MySQL的隔离级别 | MySQL隔离级别原理参考:oracle - mysql - 数据库事务隔离级...

  • 数据库四大特性和事务隔离级别

    数据库中经常被问到四大特性和隔离级别,一般都是涉及到概念性问题,在此做一些整理总结,方便理解。 1、事务的隔离级别...

网友评论

    本文标题:数据库四大隔离级别

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