OB版本4.2.1.8,从一张大表向另一张表全量插入慢

这种全量搬数据,用普通 INSERT INTO … SELECT 走增量+事务会很慢也吃内存。几个方向可以试:1)旁路导入(direct load),写成 INSERT /*+ append enable_parallel_dml parallel(N) */ INTO b select …,直接写基线绕过增量,大批量提速很明显;2)用 obloader/DataX 这类工具分批并行导;3)目标表能后建索引的话,先空表导数、导完再建索引,避免边插边维护索引。同时确认租户内存和 CPU 配额是否够,必要时分批提交。

2 个赞

技术细节讲得很清楚,学到了!

1 个赞

请问楼主,最终是怎么解决的?

1 个赞

:grin: :grin:

1 个赞

经验分享很有价值

1 个赞

6661

1 个赞

学到了。

1 个赞

经验分享很有价值

1 个赞

使用第三方工具

期待更多分享

:+1: :+1:

1200 ???

  1. ?? B ???/???
  2. ?? INSERT /*+ parallel(N) */ INTO B SELECT /*+ parallel(N) */ ... FROM A?N ??? CPU ???
  3. ??? 5 ?? 20 ???
  4. ??? EXPLAIN ???/???
  5. ???unit CPU???IO??? gv$ob_sql_audit ???
  6. ???/??? obloader/OMS??? insert ???

??? CPU/IO ???

收藏学习

1 个赞

实践出真知,感谢分享实战经验

1 个赞

总结的不错

1 个赞

感谢作者的整理和分享

1 个赞

宝贵的经验分享,谢谢!

1 个赞

赞一个!

1 个赞

文中提到的obdiag问题很常见,通过优化scene和调整OB版本4配置,通常可以解决。

赞一个!

1 个赞