当前位置: 代码迷 >> Informix >> 咨询上Inforix是否select 出的是更新后的数据还是更新前的数据
  详细解决方案

咨询上Inforix是否select 出的是更新后的数据还是更新前的数据

热度:4424   发布时间:2013-02-26 00:00:00.0
咨询下Inforix是否select 出的是更新后的数据还是更新前的数据?
从Informix 9.40数据库内在每日凌晨0点抽取(select)一表内3000万数据,
假定抽取需要2小时,
在1小时内抽取了1500万条数据,
在1小时零1秒第1500万零1条数据被另一会话的生产程序更新,已经在生产会话中commit work;

请问我们获取的数据是更新的数据还是未更新的数据;


咨询下Inforix是否select 出的是更新后的数据还是更新前的数据?

------解决方案--------------------------------------------------------
引用
请问我们获取的数据是更新的数据还是未更新的数据;

未更新的数据


------解决方案--------------------------------------------------------
应该是更新前的,因为你的记录集是在一开始就打开了的。如果取到的数据是更新后的,那么数据库的重要特性“一致性”就有问题了。

你写个程序试一下就知道了。 比如第一个存储过程,总共获取10条记录,获取了5条之后,你搞个什么循环或者就是等待个几秒钟,然后在这个几秒钟之间用另一个事务对这10条记录更新并提交一下。 最后看看前面那个存储过程取出的数据是更新前还是更新后。


  相关解决方案