理论教育 Oracle数据库:事务ACID特性

Oracle数据库:事务ACID特性

时间:2023-10-30 理论教育 版权反馈
【摘要】:事务有4个特性,它们分别是原子性、一致性、分离性、持久性。原子性事务的原子性是指事务中程序是数据库的逻辑工作单位,它对数据的修改要么全部执行,要么完全不执行。一致性事务的一致性是指事务执行的前后数据库都必须处于一致性状态,它是相对脏读而言的。只有在事务完成后才能被所有使用者看见,从而保证了数据的完整性。也就是说,一个事务操作的数据不会被其他事务看到和操作。所以,适当减少事务提交次数是比较重要的。

Oracle数据库:事务ACID特性

事务有4个特性,它们分别是原子性、一致性、分离性、持久性。

(1)原子性

事务的原子性(Atomicity)是指事务中程序是数据库的逻辑工作单位,它对数据的修改要么全部执行,要么完全不执行。原子也意味着不可分割,不管有多少程序,只要在同一个事务中,那么它们就是一个整体,如果都执行成功才意味着该事务成功,而有一个操作失败,那么同一个事务中的其他操作即使执行成功也没有用,事务会使其全部撤销。

(2)一致性

事务的一致性(Consistency)是指事务执行的前后数据库都必须处于一致性状态,它是相对脏读而言的。只有在事务完成后才能被所有使用者看见,从而保证了数据的完整性。例如在银行转账时,从A账户取款但没有放到B账户中时数据是不一致的,同时也是不完整的,其他使用者此时不能看到A中修改后的数据,只有存到B账户中,交易完成并提交事务,这时才是数据一致,所有用户也会看到修改后的数据。

(3)分离性(www.daowen.com)

分离性(Isolation)是指并发事务之间不能相互干扰。也就是说,一个事务操作的数据不会被其他事务看到和操作。

(4)持久性

持久性(Durability)是指一旦事务提交完成,那么这将是对数据永久的修改,即使被修改后的数据遭到破坏,也不会出现回到修改之前的情况。

注意:事务的提交很重要,但不建议频繁地提交事务,因为每次提交事务都需要时间,如果10 000行记录,每行记录都提交事务,那么事务本身将是性能的主要消耗者。所以,适当减少事务提交次数是比较重要的。例如,可以每1 000行提交一次。读者可以根据自己的实际情况自行决定。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈