我们希望以最快的速度将超过1亿的数据上传到Oracle RDS中。到目前为止,我们验证了以下SQL*Loader选项是最快的方法。
OPTIONS (DIRECT=TRUE,skip_index_maintenance=TRUE)
UNRECOVERABLE
LOAD DATA
INFILE 'C:\temp\huge_data.csv'
REPLACE
INTO TABLE "TEST"."HUGE_DATA_TBL"
FIELDS TERMINATED BY','
TRAILING NULLCOLS多亏了skip_index_maintenance选项,我们可以更快地上传数据,而无需任何索引维护,加载后索引将处于不可用状态。但我们实际上需要在上传数据后作为下一步提取的索引。
我只是想知道有没有其他更快的加载方法,或者在跳过索引维护之后有什么选择,但在加载结束时自动重建索引,而不需要手动更改索引重建。例如,REENABLE选项可以工作,不仅是约束,还可以用于索引?
任何建议都将不胜感激。提前谢谢。
发布于 2021-02-03 15:10:26
如果有一个特定的索引需要在加载完成后准备好,那么可以按这些索引列的顺序对CSV数据进行排序,然后使用SORTED index子句加载该数据。
https://docs.oracle.com/database/121/SUTIL/GUID-571EC032-0C25-483A-BC0D-2C27A7B64D64.htm#SUTIL1316
其他索引仍然需要重建,但您应该有一个索引可用。
https://stackoverflow.com/questions/66013155
复制相似问题