Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle-截断全局临时表_Sql_Oracle - Fatal编程技术网

Sql Oracle-截断全局临时表

Sql Oracle-截断全局临时表,sql,oracle,Sql,Oracle,我在迭代中处理大量数据,每次迭代处理大约10-50000条记录。由于记录数量如此之多,我将首先将它们插入到一个全局临时表中,然后对其进行处理。通常,每次迭代需要5-10秒 在每次迭代之后截断全局临时表是否明智,这样每次迭代都可以从一个空表开始?大约有5000次迭代。5000次迭代,每次运行50000条记录?如果您需要做那么多的处理,您当然可以优化您的处理逻辑以更高效地运行。与截断表相比,这将提高速度 但是,如果临时表中的数据已处理完毕,则应将其截断,或者确保下一个使用该表的进程不会重新处理相同的

我在迭代中处理大量数据,每次迭代处理大约10-50000条记录。由于记录数量如此之多,我将首先将它们插入到一个全局临时表中,然后对其进行处理。通常,每次迭代需要5-10秒


在每次迭代之后截断全局临时表是否明智,这样每次迭代都可以从一个空表开始?大约有5000次迭代。

5000次迭代,每次运行50000条记录?如果您需要做那么多的处理,您当然可以优化您的处理逻辑以更高效地运行。与截断表相比,这将提高速度

但是,如果临时表中的数据已处理完毕,则应将其截断,或者确保下一个使用该表的进程不会重新处理相同的数据

例如,具有“已处理”标志,因此新流程不使用现有数据。 或
不再需要时删除数据。

否!全局临时表的整体思想是,当您不再需要数据时,数据会自动消失

例如,如果希望在提交时数据消失,则在最初创建表时应使用“提交时删除行”选项

这样,您就不需要执行截断操作—只需提交即可,而且该表是全新的、空的,可以重新使用。

Dario询问的是一个全局临时表,它不仅是一个常规临时表,而且是Oracle DB中的一种特定类型的表。