您的位置:首页 > 数据库

利用timestamp实现数据库处理同一记录的时间差异问题

2009-07-14 19:47 405 查看
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LiveCoach/archive/2007/02/02/1500466.aspx

在工作中,我们经常处理某一行记录时发现有多个线程同时处理的现象(SQLSERVER),尽管系统采取相应的锁的策略来防止争用时死锁的现象,但对于一个频繁的处理记录来说,由于系统的多线程机制,所以多个事务处理同一记录时由于事务的大小不同而时间还是有先后的,这就可能造成对数据库的脏读,通过对多种方法的研究发现使用timestamp是比较好的解决方法,即在使用最频繁的表中添加一列字段,类型为timestamp ,添加完毕后系统会自动生成相应的唯一值,如果数据记录有任何改动,timestamp值也会做相应的调整,采用这种方法,我们在事务处理开始时,先记录旧的timestamp值,等真正修改数据时,检查timestamp是否相同,如果相同,说明数据不是脏的继续处理,如果不同则说明处理之前有其它线程进行了修改,本次可以放弃,以确保数据的安全一致.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐