我正在编写一些数据加载代码,从Oracle数据库中的一个大而慢的表中提取数据。我只能以只读方式访问数据,并且无法更改索引或以任何方式影响查询速度。
我的选择语句需要5分钟才能执行,并返回约300,000行。系统不断插入大批新记录,我需要确保我获得每一个最后一个记录,因此我需要保存上次下载数据的时间戳。
我的问题是:如果我的选择语句运行了5分钟,并且在选择运行时插入了新行,那么在查询结果中我会收到新行吗?
我的直觉告诉我答案是否定的,特别是考虑到这5分钟中很大一部分时间都是用于从数据库传输数据到本地环境,但我找不到有关该场景的直接文档说明。
我的选择语句需要5分钟才能执行,并返回约300,000行。系统不断插入大批新记录,我需要确保我获得每一个最后一个记录,因此我需要保存上次下载数据的时间戳。
我的问题是:如果我的选择语句运行了5分钟,并且在选择运行时插入了新行,那么在查询结果中我会收到新行吗?
我的直觉告诉我答案是否定的,特别是考虑到这5分钟中很大一部分时间都是用于从数据库传输数据到本地环境,但我找不到有关该场景的直接文档说明。