并发控制概述

为何要并发执行

  • 提高系统的吞吐量

    吞吐量单位时间内系统执行的事务数。CPU处理和磁盘I/O可以同时进行,利用二者的并行性,可以并发地执行多个事务。提高CPU和磁盘的利用率。

  • 减少事务的平均响应时间

    多用户数据系统,事务是DBMS的执行单位。事务的平均响应时间是指一个事务从开始到完成所需要的平均时间。事务有长短,如果串行执行,短事务可能花费很长的时间等待它前面的长事务的漫长执行。

并发执行可能带来的问题

  • 丢失修改两个事务读入同一数据并修改,一个事务提交的结果破坏了另一个事务提交的结果,导致其修改丢失。(一个事务把一个事务的修改破坏了)

  • 不可重复读两个用户分别对数据库中数据进行操作,结果出现了不可重复读现象。事务T1读取某一数据后,事务T2读取并修改了同一数据,使T1无法再现前一次的读取结果;T2的插入和删除会出现幻影现象。(一个事务把一个事务要重复读的东西改了

  • 脏读事务T1修改了某一数据后,事务T2读取了同一数据,而T1由于某种原因被撤销,则称T2读到了脏数据

Last updated