数据库事务

一.数据库的事务应当具有以下四种特性:
    Atomic(原子性)
    
事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。

    Consistency(一致性)
     数据不会因为事务的执行而遭受破坏.只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。
     实现:DBMS的完整性子系统执行测试任务
       {
       `完整性约束:域约束,基本表约束和断言
        }


  Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。
    事务的隔离性一般由事务的锁来进行控制
    实现:DBMS的并发控制子系统
      {
        1.丢失更新问题
        2.读脏数据
        3.不可重复读问题
      }

   Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。
   实现:恢复管理子系统

2.DB锁(并发控制的手段)
     独占锁(排他锁):只允许一个事务访问数据
    共享锁:允许其他事务继续使用锁定的资源
    更新锁


  锁就是保护指定的资源,不被其他事务操作,锁定的资源包括行、页、簇、表和数据库。为了最小化锁的成本,SQL Server自动地以与任务相应等级的锁来锁定资源对象。锁定比较小的对象,例如锁定行,虽然可以提高并发性,但是却有较高的开支,因为如果锁定许多行,那么需要占有更多的锁。锁定比较大的对象,例如锁定表,会大大降低并发性,因为锁定整个表就限制了其他事务访问该表的其他部分,但是成本开支比较低,因为只需维护比较少的锁。


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值