摘要: 在分布式的系统中,通常会有多个线程连接到数据库中同时对一个表进行操作(这里的同时并不表示同一个时间点,而是同时竞争cpu的资源,至于如何调度,就要看线程和操作系统如何进行调度了),这种情况下如果会话的事物设置不当,就会导致数据混乱,常常会出现以下三种情况(假设现在系统中有两个会话A和B,同时对表T_Test操作):1.脏读:假如A开启事物后,在查询之前,B修改了表中的某条记录,但是事物还没提交,这个时候A再读取该表时,读到了B修改之后的数据,问题发生了:B如果此时回滚了事物,那么A读到的就是错误的数据了。2.不可重复读:假如A开启事物后,对表做了查询后,此时B修改了表中的某条记录,然后A又做了 阅读全文
posted @ 2012-04-13 16:18 勇泽 阅读(134) 评论(0) 推荐(0) 编辑