1.事务的概念: 事务用于保证数据的一致性,它由一组相关的dml(数据操作语言[增删改])语句组成,该组的dml语句要么全部成功。要么全部失败。 事务的特性有四个:ACID 原子性atomicity:语句级原子性,过程级原子性,事务级原子性 一致性consistency:状态一致,同一事务中不会有两种状态 隔离性isolation:事务间是互相分离的互不影响(这里可能也有自治事务) 持久性durability:事务提交了,那么状态就是永久的 只读事务 : 只读事务是指只允许执行查询的操作,而不允许执行任何其它dml操作的事务,使用只读事务可以确保用户只能取得某时间点的数据。假定机票代售点每天18点开始统计今天的销售情况,这时可以使用只读事务。在设置了只读事务后,尽管其它会话可能会提交新的事务,但是只读事务将不会取得最新数据的变化,从而可以保证取得特定时间点的数据信息。 设置只读事务: set transaction read only; 2. 事务的优点: 把逻辑相关的操作分成了一个组。 在数据永久改变前,可以预览数据变化。 能够保证数据的读一致性。 COMMIT操作把多个步骤对数据库的修改,一次性地永久写入数据库,代表数据库事务的成功执行。 ROLLBACK操作在发生问题时,把对数据库已经作出的修改撤消,回退到修改前的状态。在操作过程中,一旦发生问题,如果还没有提交操作,则随时可以使用ROLLBACK来撤消前面的操作。 SAVEPOINT 则用于在事务中间建立一些保存点,ROLLBACK可以使操作回退到这些点上边,而不必撤销全部的操作。一旦COMMIT完成,就不能用ROLLBACK来取消已经提交的操作。一旦ROLLBACK完成,被撤消的操作要重做,必须重新执行相关操作语句。 |