并发控制指的是当多个用户同时更新运行时,用于保护
数据库完整性的各种技术。并发机制不正确可能导致
脏读、
幻读和
不可重复读等此类问题。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。在某些情况下,这些措施保证了当用户和其他用户一起操作时,所得的结果和她单独操作时的结果是一样的。在另一些情况下,这表示用户的工作按预定的方式受其他用户的影响。
编辑本段数据库管理系统中的并发控制
现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为X。两处售票点同时卖出一张车票,同时修改余额为X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的却记录只少了一张。
产生这种情况的原因是因为两个
事务读入同一数据并同时修改,其中一个事务提交的结果破坏了另一个事务
提交的结果,导致其数据的修改被丢失,破坏了
事务的隔离性。并发控制要解决的就是这类问题。
封锁、
时间戳、乐观并发控制和悲观并发控制是并发控制主要采用的技术手段。