MySQL总结(十三)数据库事务隔离级别-概述

精选30+云产品,助力企业轻松上云!>>> hot3.png

事务的隔离级别

1.ACID事务的四大特性

事务特性含义
原子性(Atomicity)每个事务都是一个整体,不可再拆分,事务中所有的sql语句要么全部执行成功,要么全部执行失败。
一致性(Consistency)事务在执行前数据库的状态与执行后数据库的状态保持一致。如:转账前2 个人的总金额是 2000 ,转账后 2 个人总金额也是 2000
隔离性事务与事务之间不应该相互影响,执行时保持隔离的状态。
持久性一旦事务执行成功,对数据库的修改是持久的。就算关机,也是保存下来的。

2.并发访问可能出现的问题

  • 事务在操作时的理想状态:

所有的事务之间保持隔离,互不影响。因为并发操作,多个用户同时访问同一个数据。

  • 可能引发并发访问的问题:
并发访问的问题含义
脏读一个事务读取到了另一个事务中尚未提交的数据
不可重复读一个事务中两次读取的数据 内容 不一致,要求的是一个事务中多次读取时数据是一致的, 这是事务 update 时引发的问题
幻读一个事务中两次读取的数据的 数量 不一致,要求在一个事务多次读取的数据的数量是一致的,这是 insert 或 或 delete 时引发的问题

3. MySql数据库有四种隔离级别

上面的级别最低,下面的级别最高。“是”表示会出现这种问题,“否”表示不会出现这种问题。

级别名字隔离级别脏读不可重复读幻读数据库默认隔离级别
1读已提交read uncommitted
2读未提交read committedOracle和SQL Server
3可重复读repeatable readMySQL
4串行化serializable

隔离级别越高,性能越差,安全性越高。

4.MySQL事务隔离级别相关的命令

  • 查询全局事务隔离级别

查询隔离级别: select @@tx_isolation;

  • 设置事务隔离级别,需要退出MySQL再重新登录才能看到隔离级别的变化

设置隔离级别: set global transaction isolation level 级别字符串;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值