事务就是让一个数据库中的多个表更新时同步操作,目的就是为了数据库各表的一致性。因此它具有:原子性、一致性、隔离性、持久性四大特征
原子性:把事务当成一个工作单元,要么执行,要不不执行,不能说值执行一部分。
一致性:执行事务完成时,数据保持一致性。
隔离性:当事务执行时不能被其它执行的操作打扰,保持一定的独立性
持久性:完成事务对于系统的影响是永久的,即使出现系统故障也是如此。
事务的类型:
隐式事务:指执行SQL Server数据修改语句时称为隐式事务。
显示事务:以begin transaction 开头,commit transaction 结束
如果事务执行失败时需要用到事务回滚使数据库恢复到处理之前的状态。
以上事务处理过程可用张图解释:
锁
当多个用户同时访问一个资源时可能发生数据的不一致性,为了解决这一问题锁应运而生。
锁的类型:
独占锁
只允许操作的程序使用,其它任何操作不被接受。即允许SQL Server的insert/update/delete 命令
共享锁
可以被多用户读取,但是不能被修改。
更新锁
为了防止死锁而设立的,在SQL Server 更新之前,对数据对象进行更新锁锁定,使数据不允许被修改。
如果两个用户分别锁定了不同的对象,且又试图访问对方的对象就会产生死锁
死锁的解决办法:
1.尽量避免并发执行修改数据的语句
2.每个事物一次性加锁
3.规定封锁顺序
4.事务执行时间不能太长
- 8楼hanxuemin12345昨天 20:18
- 分析的恨透彻 加油啊
- 7楼xvshu昨天 10:43
- 思考ing
- Re: wangxuhebeibd昨天 17:45
- 回复xvshun咋咧。 什么问题吗?
- 6楼xjc1278003262昨天 20:40
- 写的真好,向你学习!
- Re: wangxuhebeibd昨天 09:02
- 回复xjc1278003262n意见的没哟啊
- 5楼zhanglianhai555昨天 15:26
- 加油!
- 4楼liujiahan629629前天 14:51
- 囧……,什么意思啊!
- 3楼beijiguangyong5天前 11:32
- 越想越觉得 事务性是品质问题 你觉得呢?
- Re: wangxuhebeibd前天 12:46
- 回复beijiguangyongn哥哥,你可以后得 多来看看我,品质--为程序服务。。。
- 2楼songxuemeng5天前 11:32
- 我这还没明白 学习
- 1楼liu7650230516天前 13:18
- 事务的应用,还是很广泛的。
- Re: wangxuhebeibd5天前 21:04
- 回复liu765023051n还是理解的 忒浅
- Re: aboy1235天前 07:55
- 回复wangxuhebeibdn现在到这个程度已经很不错了