• SQL的事务


      1、事务是什么

      事务是对数据库执行的一个操作单位,是对数据库所做的一个或多个修改,是必须完整执行的SQL语句块,它是由数据操作语言(DML)完成的;在一个事务可以是一个或多个DML语句,在事务处理中,确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。

      2、事务的本质特征是什么

    • 所有的事务都有开始和结束;
    • 事务可以被保存或撤销;
    • 如果事务在中途失败,那么事务中的任何部分都不会被记录到数据库

      使用事务进行操作的实质是:事务会对临时存储空间进行操作,因为数据库服务器需要记录语句执行前的所有变化,以便在需要ROLLBACK的时候进行撤销。

      3、如何控制事务

      当一个事务被执行成功完成时,虽然从输出结果来看目标表已经被修改了,但实际上目标表并不是立即被修改的,还需要通过事务控制命令来最终认可这个事务,把事务所做的修改要么保存到数据库,要么撤销事务所做的修改。控制事务的命令有三个:

    • COMMIT:把事务产生的变化保存到数据库
    • ROLLBACK:撤销已经被执行的事务所产生的变化
    • SAVEPOINT:用于把事务划分为组,创建用于回退到事务过程中特定的逻辑点,支持回退部分事务

      事务控制命令只与DML命令INSERT、UPDATE和DELETE配和使用,尽管事务处理中可以使用SELECT、CREATE、DROP、TRUNCATE语句,但是回退SELECT语句没有必要,而CREATE和DROP语句是不能撤销的,

      当事务处理完后,事务信息被保存在数据库里的指定区域或临时回退区域,所有的修改都被保存到这个临时回退区域,直到事务控制命令出现,此时所做的修改要么被保存到数据库,要么被放弃,然后临时回退区域被清空。下面通过一幅来理解,更直观:

      4、事务控制与数据库性能

      大规模的批处理会导致临时存储的回退信息不断膨胀,直到出现COMMIT或ROLLBACK命令;如果一直没有出现COMMIT或者ROLLBACK命令,那么临时存储区域里的回退信息就不会不断增长,直到没有剩余空间,导致数据库停止全部进程,直到空间被释放。

      

  • 相关阅读:
    2015-2016-1 《信息安全系统设计基础》学生博客列表
    2014-2015-2 《Java程序设计》课程学生博客列表
    立此存照-抄袭作业者的曝光台
    实验三 敏捷开发与XP实践
    实验二 Java面向对象程序设计
    《Linux及安全》实验安排
    实验一 Java开发环境的熟悉
    ISO-OSI的七层协议经典架构
    iOS设计模式之单例模式
    使用iOS手势UIGestureRecognizer
  • 原文地址:https://www.cnblogs.com/bien94/p/12913552.html
Copyright © 2020-2023  润新知