高性能数据库更新(oracle)

ata*_*osh 2 database oracle

我有几个服务在处理不同的输入文件格式(XML,平面文件等)后将数据转储到数据库(oracle).我想知道我是否可以让他们生成SQL语句并将它们记录到某个文件系统,并且有一个SQL处理器(类似java hibernet),它将处理这些SQL文件并上传到DB.执行大量SQL语句(分布在文件系统上,由多个编写器编写)到oracle DB的最快方法是什么?我正在考虑分配数据库和批量更新.但是,我想知道这里的最佳做法.似乎这是一个常见问题,有人必须已经面对/解决了这个问题.谢谢Atanu

ik_*_*elf 5

atanu,最糟糕的事情是生成大量的insert语句.如果您想要速度并且您知道数据的布局,请使用外部表将数据加载到oracle数据库中.这看起来很像使用sql*loader,但您可以使用表访问您的数据.在表定义中,您的数据字段将映射到列名和数据类型.这将是批量加载到数据库中的最快方法,肯定是这样.

有关一些文档,请参阅管理外部表.