摘要: 另一个走向极端的错误 满怀信心的新手们可能为自己所掌握的部分知识陶醉不已,刚接触数据库库事务处理的准开发者们也一样,踌躇满志地准备将事务机制应用到他的数据处理程序的每一个模块每一条语句中去。的确,事务机制看起来是如此的诱人——简洁、美妙而又实用,我当然想用它来避免一切可能出现的错误——我甚至想用事务把我的数据操作从头到尾包裹起来。 看着吧,下... 阅读全文
posted @ 2009-08-21 13:55 awp110 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 什么是数据库事务    数据库事务是指作为单个逻辑工作单元执行的一系列操作。 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:    · 更新客户所购商品的库存信息    · 保存客户付款信息--可能包括与银行系统的交互    · 生成订单并且保存到数据库中    · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行... 阅读全文
posted @ 2009-08-21 13:54 awp110 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 例子:SET TRANSACTION ISOLATION LEVEL READ COMMITTED; BEGIN TRANSACTION; SELECT * FROM User2行版本控制隔离:优势使用行版本控制的隔离级别具有以下优点:· 读取操作检索一致的数据库快照。· SELECT 语句在读取操作过程中不锁定数据(读取器不阻塞编写器,编写器也不阻塞读取器)。· S... 阅读全文
posted @ 2009-08-21 13:36 awp110 阅读(451) 评论(0) 推荐(1) 编辑
摘要: SQL Server 2005使用基于行版本控制的隔离级别初探(2) -- SNAPSHOT 上一篇介绍了READ_COMMITTED_SNAPSHOT的构架。下面我们来学习实践SNAPSHOT 行版本隔离级别把。回顾一下SNAPSHOT的构架: SNAPSHOT隔离就像真实的快照,它会无视涉及行的变化。在SNAPSHOT隔离下运行的事务将读取数据,然后由另一事务修改此数据。SNAPSHOT事务... 阅读全文
posted @ 2009-08-21 11:10 awp110 阅读(174) 评论(0) 推荐(0) 编辑
摘要: SQL Server 2005使用基于行版本控制的隔离级别初探(2) -- READ_COMMITTED_SNAPSHOT 上一篇大概介绍了行版本隔离的概念,并简要的介绍了两种行版本隔离异同。下面我们就一步一步来实践把。来回顾一下READ_COMMITTED_SNAPSHOT的构架。在读取数据时不使用锁,但是在事务中可以更新被其他事务修改的数据。 在修改数据时,使用更新锁(U 锁)完成选择要更新的... 阅读全文
posted @ 2009-08-21 11:09 awp110 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 行版本控制隔离:简介 行版本控制的隔离是SQL Server 2005一个新的隔离框架。使用行版本控制的隔离可以在大量并发的情况下,显著减少所得产生,并且与NoLock相比,它又可以显著降低肮脏读,幻影,丢 失更新等现象的发生(READ_COMMITTED_SNAPSHOT) 当在基于行版本控制的隔离下运行的事务读取数据时,读取操作不会获取正被读取的数据上的共享锁(S 锁),因此不会阻塞正在修改... 阅读全文
posted @ 2009-08-21 11:07 awp110 阅读(240) 评论(0) 推荐(0) 编辑
摘要: set statistics profile on set statistics io on set statistics time on go 你执行的语句 go set statistics profile off set statistics io off set statistics time off 执行完点消息! 本博客所有随笔,若未明确标示转载或带... 阅读全文
posted @ 2009-08-21 10:40 awp110 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 【表A】与【表B】之间有外键约束(具体怎么约束的无所谓,因为外键和事务死锁没有绝对关系)。【表A】=主键表,【表B】=外键表。公司有几位程序员写的代码总是出现死锁,现在将事务死锁情况重现.using(事务){try{for()//一个循环{if(查询【表A】有该【记录】==false)//这个查询没有用当前事务的数据库连接,而是新开一个数据库连接查询数据库{将【记录】插入【表A】;插入【表B】;}... 阅读全文
posted @ 2009-08-21 10:25 awp110 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 1. 死锁原理 根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。非剥夺条件(No pre-emption):已经分... 阅读全文
posted @ 2009-08-21 10:18 awp110 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1 . 并发操作带来的数据不一致性包括:________ 、________ 和 ________ 。 (问答题)# 查看答案 * 丢失修改 不可重复读 读“脏”数据 2 .在数据库中为什么要并发控制? (填空题)# 查看答案 * 数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能... 阅读全文
posted @ 2009-08-21 10:04 awp110 阅读(375) 评论(0) 推荐(0) 编辑
摘要: cookies如果没设置过期时间 他会在新建ie的时候失效 但是在你新建窗口的地方不会失效!其实淘宝也是这么做的。。。session每打开一个页面他的sessionid都会不一样 利用这个原理可以做防止页面重复提交的功能!因为form提交后页面刷新的sessionid是一样的如果保存Cookies时未设置过期时间, 则Cookies的过期时间为“当前浏览器进程有效”,即和S... 阅读全文
posted @ 2009-08-21 09:37 awp110 阅读(169) 评论(0) 推荐(1) 编辑