数据库的事务的特性和隔离级别
程序员文章站
2022-09-17 20:01:42
事务的特性和隔离级别1.事务的特性ACID1.原子性 (Atomicity):原子性是指事务是一个不可分割的工作单位,事务中操作 要么发生,要么都不发生2.一致性(Consistency)事务前后数据的完整性必须保持一致3.隔离性(Isolation)事务的隔离性是指多个用户并发访问数据库时,一个用户 的事务不能被其他用户的事务所干扰,多个并发事务之间数据...
事务的特性和隔离级别
1.事务的特性ACID
1.原子性 (Atomicity):原子性是指事务是一个不可分割的工作单位,事务中操作
要么发生,要么都不发生
2.一致性(Consistency)事务前后数据的完整性必须保持一致
3.隔离性(Isolation)事务的隔离性是指多个用户并发访问数据库时,一个用户
的事务不能被其他用户的事务所干扰,多个并发事务之间数据相互隔离
4.持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中的
数据的改变是永久性的,接下来即使数据库发生故障也不应该对其任何影响
2.并发访问问题-----由隔离性引起
如果不考虑隔离性,事务存在3种并发访问问题
1.脏读 B事务读取到了A事务尚未提交的数据
2.不可重复读: 一个事务中两次读取的数据的内容不一致
3.幻读/虚读:多次事务读取的条数的数量是一致
3. 事务的隔离级别
1.read uncommitted :读取尚未提交的数据:那个问题都不能解决
2.read committed :读取已经提交的数据:可以解决脏读-----oracle默认
3.repeatable read: 重复读取:可以解决脏读和不可重复读------mysql默认
4.serializable :串行化 :可以解决脏读 不可重复读 和虚读-----相当于锁表(效率很低)
本文地址:https://blog.csdn.net/kaszxc/article/details/109480786