Sql数据库事务,索引

1,事务


定义:事务是指用户在数据库上进行的一组操作,这一组操作要么都成功完成,要么都失败,是一个不可分割的工作单位。例 如,银行转账操作:“张三向李四转账 500 元,需要从张三账号扣除 500 元向李四账户增加 500 元,对这两条记录的操作, 必须都完成,如果某一个操作出问题,则应撤销另一个操作”。

事务具有以下 4 个特征:

  1. 原子性(Atomicity)就是刚才提到的不可分割,要么都执行要么都不执行。
  2. 一致性(Consistency)事务在完成时,必须使相关数据保持一致的状态,所有的内部数据结构都必须是正确的, 符合完整性的要求。
  3. 孤立性(Isolation)事务过程中暂时不一致的数据都不能被其他事务应用,直到数据再次一致。在某一个时间点, 多个事务有可能同时涉及某些数据行,如果有些行已经在其他事务中并且没有达到一致状态,则此事务不能对其 进行操作,直到哪些数据达到一致状态。
  4. 持久性(Durability)一旦事务提交,他们就变成永久的。事务所完成的操作被永久保存。

1>事务分类


  1. 自动提交: 每条单独的语句都是一个事务。例如:delete Users where Sex=‘男’ 此语句有可能删除很多
    条数据,这些数据要么一次性都删除成功,要么都删除失败,而不会出现部分成功部分失败。
    大家平常写的 update 语句,delete 语句都是以自动提交事务的方式来进行的,比如:
update Product 
set SellPrice=120 
where id in (1,100,120) 

涉及编号为 1、100、120 三条记录,这个更新,对于这三条记录而言是个自动提交事务,要么都更新成功,要么一条都不进 行更新
2. 显式:每个事务以 begin tran 打头,以 commit 或 rollback 结束。
3. 隐式:在前一个事务完成时,新事务隐式启动,但每个事务仍以 commit 或 rollback 语句显式完成。 通过 SET IMPLICIT_TRANSACTIONS ON 来打开隐式事务。

2,索引

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值