2

我逐渐从 Web 服务中提取记录。我需要将本地表中未由 Web 服务返回的任何记录的状态设置为“已删除”;

我原本打算将完整的记录 ID 列表存储在 PL/SQL 表中,然后基于该表执行单个 UPDATE 语句。

我现在估计记录集的内存使用量约为 615MB。PL/SQL 表的内存占用与使用全局临时表相比如何?它会使用 Oracle 内存的不同部分,例如 PGA 与 SGA 吗?

性能不是主要问题,因为这项夜间作业已经在生产中运行了可接受的时间。我不相信添加“已删除”状态片段会增加运行持续时间以影响用户。

4

1 回答 1

3

全局临时表不会以这种方式使用内存。它将值存储在只有您的会话可以访问的临时段中,并且在不再需要时将其删除。

您是否考虑过如果您的会话断开连接会发生什么?在任何一种方法中,您都会丢失您积累的值。您可能只想使用常规表。

于 2013-10-16T11:25:48.227 回答