业务场景:

Oracle数据库中,某张表308W数据,需要导出成文本格式。

实现:

利用sqluldr2工具快速导出数据。

执行结果:

300W数据用时45分钟。效率明显很低,达不到业务要求。

oracle调优命令(oracle数据库优化原则和方法)-第1张图片

需要优化:

Sqluldr2中的query sql为:

oracle调优命令(oracle数据库优化原则和方法)-第2张图片

优化后sql为:

oracle调优命令(oracle数据库优化原则和方法)-第3张图片

注意优化后的sql在每个case when后新增该case when的别名,虽然不知道为啥加入别名就会提高导出速度,但是实际情况是导出速度提到的非常多。

优化后的sqluldr2导出时间:

oracle调优命令(oracle数据库优化原则和方法)-第4张图片

用时1分18秒。

有哪个大神知道原因,不吝赐教。

评论(0条)

刀客源码 游客评论