事务的隔离级别 1.ACID事务的四大特性 事务特性 含义 原子性(Atomicity) 每个事务都是一个整体,不可再拆分,事务中所有的sql语句要么全部执行成功,要么全部执行失败。 一致性(Consistency) 事
事务特性 | 含义 |
---|---|
原子性(Atomicity) | 每个事务都是一个整体,不可再拆分,事务中所有的sql语句要么全部执行成功,要么全部执行失败。 |
一致性(Consistency) | 事务在执行前数据库的状态与执行后数据库的状态保持一致。如:转账前2 个人的总金额是 2000 ,转账后 2 个人总金额也是 2000 |
隔离性 | 事务与事务之间不应该相互影响,执行时保持隔离的状态。 |
持久性 | 一旦事务执行成功,对数据库的修改是持久的。就算关机,也是保存下来的。 |
所有的事务之间保持隔离,互不影响。因为并发操作,多个用户同时访问同一个数据。
并发访问的问题 | 含义 |
---|---|
脏读 | 一个事务读取到了另一个事务中尚未提交的数据 |
不可重复读 | 一个事务中两次读取的数据 内容 不一致,要求的是一个事务中多次读取时数据是一致的, 这是事务 update 时引发的问题 |
幻读 | 一个事务中两次读取的数据的 数量 不一致,要求在一个事务多次读取的数据的数量是一致的,这是 insert 或 或 delete 时引发的问题 |
上面的级别最低,下面的级别最高。“是”表示会出现这种问题,“否”表示不会出现这种问题。
级别 | 名字 | 隔离级别 | 脏读 | 不可重复读 | 幻读 | 数据库默认隔离级别 |
---|---|---|---|---|---|---|
1 | 读已提交 | read uncommitted | 是 | 是 | 是 | |
2 | 读未提交 | read committed | 否 | 是 | 是 | oracle和SQL Server |
3 | 可重复读 | repeatable read | 否 | 否 | 是 | mysql |
4 | 串行化 | serializable | 否 | 否 | 否 |
隔离级别越高,性能越差,安全性越高。
查询隔离级别: select @@tx_isolation;
设置隔离级别: set global transaction isolation level 级别字符串;
--结束END--
本文标题: MySQL总结(十三)数据库事务隔离级别-概述
本文链接: https://lsjlt.com/news/6693.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0