Sql 在Oracle上执行大容量插入时是否应禁用或删除索引?

Sql 在Oracle上执行大容量插入时是否应禁用或删除索引?,sql,oracle,ddl,Sql,Oracle,Ddl,我正在Oracle中对select from语句进行大容量插入,但撤消空间已用完(ORA-30036:无法在撤消表空间“UNDOTBS1”中将段扩展8) 一般的共识似乎是删除目标表上的索引,然后在插入完成时重新创建它们 只是在表上禁用索引/约束可以吗?与删除索引/约束有何区别?删除索引应该会更快地加载。如果您对表的可恢复性不感兴趣,还可以在表的插入过程中关闭日志记录,这样它就不会生成撤消。危险在于,如果DBA需要恢复数据库,您将在表中看到损坏错误。这取决于表/数据库的使用情况。我将在加载后重建索

我正在Oracle中对select from语句进行大容量插入,但撤消空间已用完(ORA-30036:无法在撤消表空间“UNDOTBS1”中将段扩展8)

一般的共识似乎是删除目标表上的索引,然后在插入完成时重新创建它们


只是在表上禁用索引/约束可以吗?与删除索引/约束有何区别?

删除索引应该会更快地加载。如果您对表的可恢复性不感兴趣,还可以在表的插入过程中关闭日志记录,这样它就不会生成撤消。危险在于,如果DBA需要恢复数据库,您将在表中看到损坏错误。这取决于表/数据库的使用情况。我将在加载后重建索引,以确保在加载数据后所有内容都被索引,因此我不相信关闭它会带来任何好处

您能否澄清删除和停用索引/约束之间的区别?