本文解释数据库并发控制
事务
对数据库数据执行的一系列操作,可以是一条或者多条SQL语句
数据库事务特性
1、 原子性
对数据库数据的一系列操作,要么全部执行,要么都不 执行
2、 一致性
数据库从一个一致状态转到另一个一致状态
3、 隔离性
多个事务对数据库的操作要相互隔离
4、 持久性
事务提交后的数据在数据库中是永久存在的
数据库并发操作产生的异常现象:
1、 脏读
读取一个事务未提交的数据
2、 不可重复读
一个事务中多条相同读取语句执行结果不一致,针对更新和删除
3、 幻读
一个事务中多条相同读取语句执行结果不一致,针对增加
4、 更新丢失(X锁)
一个事务的更新操作被另一个事务覆盖
数据库的隔离级别
1、 读未提交(S锁)
可以读取一个事务未提交的数据
2、 读已提交(U锁)
只能读取一个事务已提交的数据
3、 可重复读(X锁)
一个事务在读取的时候不允许其他事务更新删除操作
4、 序列化(X锁)
一个事务只能等待另一个事务完成后才可以进行
锁粒度
属性值——》元组——》行——》表