【发布时间】:2014-11-18 19:40:52
【问题描述】:
我一直遇到这个问题,只需要以下有关错误的更多信息
-1652-ORA-01652:无法在表空间“temp_tablespace name”中将临时段扩展 128 我现在几乎每个月都需要增加临时表空间。
目前每天午夜,系统运行存储过程将从 2-3 个表中收集的数据插入到 1 个表中。在查询中,我使用“distinct”语句进行查询。我需要使用 distinct,因为在此之前,即使表有主键,也会插入重复值。
我的问题是:
1) “distinct”语法是否导致临时表空间已满?
2) 如果是,那么我需要做什么而不是增加表空间?如果不是,那是什么原因导致临时表空间总是满的?
【问题讨论】:
-
在查询中使用 distinct 意味着 - 首先选择临时位置中的所有数据并过滤 distinct,这将使用您的临时数据库空间。 - 通过选择这些数据,您的流程在做什么?
-
过程?你的意思是选择数据后会发生什么?如果是这样,数据将被插入到另一个表中,以便系统将其提取到批处理文件中。
-
太棒了!如果你想在另一个表中插入记录,你可以从记录总数中处理一批数据。首先选择计数,然后逐批插入活动。这将减少临时空间。