咨询上Inforix是否select 出的是更新后的数据还是更新前的数据
咨询下Inforix是否select 出的是更新后的数据还是更新前的数据?从Informix 9.40数据库内在每日凌晨0点抽取
咨询下Inforix是否select 出的是更新后的数据还是更新前的数据?
从Informix 9.40数据库内在每日凌晨0点抽取(select)一表内3000万数据,
假定抽取需要2小时,
在1小时内抽取了1500万条数据,
在1小时零1秒第1500万零1条数据被另一会话的生产程序更新,已经在生产会话中commit work;
请问我们获取的数据是更新的数据还是未更新的数据;
咨询下Inforix是否select 出的是更新后的数据还是更新前的数据?
[解决办法]
未更新的数据
[解决办法]应该是更新前的,因为你的记录集是在一开始就打开了的。如果取到的数据是更新后的,那么数据库的重要特性“一致性”就有问题了。
你写个程序试一下就知道了。 比如第一个存储过程,总共获取10条记录,获取了5条之后,你搞个什么循环或者就是等待个几秒钟,然后在这个几秒钟之间用另一个事务对这10条记录更新并提交一下。 最后看看前面那个存储过程取出的数据是更新前还是更新后。