在一个未提交的大容量插入查询之后,下一个选择查询将花费大量时间在ORACLE中执行



我有一个脚本,其中首先执行批量(800万条记录(插入,如下所示insert into table2 select * from table1;

插入后语句,在没有提交脚本的情况下,在选择查询下面执行,这需要花费大量时间来执行。

select to_char(SYSTIMESTAMP,'YYYY-MM-DD HH24:MI:SS.FF6') from dual;

当对大量记录(700万到800万(执行上一次插入时,执行此选择查询需要花费大量时间。当插入20万条记录时,相同的查询运行良好。

插入后的提交会有帮助吗?或者有什么解决方案可以解决这个问题?提前谢谢。

它与性能调优有关:插入后,您的表将被分割,您应该使用分割技术。以下是插入之前和之后的一些建议:

  1. 插入前禁用所有索引(堆表(
  2. 插入后启用索引
  3. 联机重建索引
  4. 更新架构的统计信息

在这些过程之后,必须删除碎片。

相关内容

  • 没有找到相关文章

最新更新