1

对于具有索引的表,我们遇到了性能问题。加载需要 1 小时,但如果我们删除索引并在每次加载后重新创建它们,它会在 30 分钟内执行。

在每个循环之后删除并重新创建该表的索引是否是一个可行的解决方案?

4

1 回答 1

3

听起来您正在尝试将批量数据加载到具有多个索引的表中,但是如果存在索引,您会发现加载速度慢得令人无法接受

如果这是您的问题,Oracle 允许您禁用和重建索引,而不必删除并重新创建它们:https ://docs.oracle.com/cd/E18283_01/server.112/e17120/indexes004.htm#CIHJCEAJ

Oracle 还提供了有关何时使用此功能的指导:

当您想要提高批量加载的性能、在删除索引之前测试删除索引的效果或以其他方式暂停优化器对索引的使用时,请使用不可用或不可见的索引。

于 2018-02-03T09:17:26.020 回答