我正在进行大量数据的迭代处理,每个迭代处理约10-50,000条记录。由于记录数量如此之多,我首先将它们插入到全局临时表中,然后再进行处理。通常,每个迭代需要5-10秒。
是否明智在每个迭代之后截断全局临时表,以便每个迭代都可以从空表开始?总共有约5000个迭代。
每次运行处理50000条记录需要进行5000次迭代?如果您需要进行这么多的处理,那么肯定可以优化处理逻辑以使其更高效地运行。这将使您比截断表更快。
然而,如果您已经完成了临时表中的数据,应该将其截断,或者确保下一个使用该表的进程不会重新处理相同的数据。
例如,设置一个“已处理”标志,以便新进程不使用现有数据。 或者 在不再需要时删除数据。