一、什么是事务
事务是数据库中一系列严密的操作,所有操作都必须全部成功完成,如果其中某项操作失败则所有更改都会撤销。事务结束的两种:事务中所有操作全部执行成功,事务提交;事务中某个操作失败,事务回滚至事务开始的状态,撤销之前全部操作。 事务的四个特性:原子性、一致性、隔离性和持续性。 1、原子性 事务是数据库中的一个逻辑工作单位,事务中的各项操作要都做,要么都不做。 2、一致性 事务执行结果必须是使数据库由一个一致性的状态变到另一个一致性的状态。如果数据库系统运行发生故障,有些事务没有正确完成就被迫中断,未完成事务所做的一些操作已经写入数据库,那么数据库就处于一种不一致的状态。 3、隔离性 一个事务的执行不能被其他事务干扰,即一个事务内部发生的操作以及使用的数据对其他并发的事务是隔离的,并发执行的事务之间不能互相干扰。 4、持续性 一个事务一旦提交,那么它对数据库的数据的改变就是永久性的。
二、DB锁机制
1、DB2表级锁
名称缩写 | 全名 | 是否需要行锁配合 | 描述 |
IN | 无意图锁(Intent Node) | 否 | 拥有者可以读取包括其他事务未提交数据在内的所有数据,但不能对表中的数据作出修改 |
IS | 意图共享锁(Intent Share) |