并发控制
为何要并发?
事物有两种执行顺序
(1)串行访问-----事物顺序执行,一个事物完全结束后才开始另一事物
(2)并发访问-----多个事物同时启动但交错执行各事物中的操作
而操作的交错执行就需要调度 (Schedule)
调度的概念:“事物集”中一串有序的操作集
并发的目的:(1)改善系统的资源利用率 (2)改善短事物的响应时间
并发执行可能引起的问题
1.丢失更新(lost update)
丢失更新亦称覆盖未提交的数据,原因是两个事务对同一数据并发地写入引起,称为写-写冲突(write-write conflict)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-63gHTviq-1656312463515)(C:\Users\aLize\AppData\Roaming\Typora\typora-user-images\image-20220626231248209.png)]
2.读脏数据(dirty read)
读脏数据亦称为读未提交的数据,由于一事务读另一事务尚未提交的数据引起,称为写-读冲突(write-read conflict)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XP6ufUS0-1656312463515)(C:\Users\aLize\AppData\Roaming\Typora\typora-user-images\image-20220626231441544.png)]
3.读值不可