我有一个脚本,其中首先执行批量(800万条记录(插入,如下所示insert into table2 select * from table1;
插入后语句,在没有提交脚本的情况下,在选择查询下面执行,这需要花费大量时间来执行。
select to_char(SYSTIMESTAMP,'YYYY-MM-DD HH24:MI:SS.FF6') from dual;
当对大量记录(700万到800万(执行上一次插入时,执行此选择查询需要花费大量时间。当插入20万条记录时,相同的查询运行良好。
插入后的提交会有帮助吗?或者有什么解决方案可以解决这个问题?提前谢谢。
它与性能调优有关:插入后,您的表将被分割,您应该使用分割技术。以下是插入之前和之后的一些建议:
- 插入前禁用所有索引(堆表(
- 插入后启用索引
- 联机重建索引
- 更新架构的统计信息
在这些过程之后,必须删除碎片。