如何在Oracle中批量插入

奇迹拉

我必须将大量数据从一个数据库实例加载到另一个数据库实例,要求仅使用DBlinks。

使用SQLLDR,我能够达到每秒200K条记录的速度,并希望使用DBLinks复制相同的记录。

使用直接路径插入(附加提示)每秒最多可提供40k记录。但是由于使用直接路径插入会获取表级别,因此我无法打开多个会话以将其扩展到200K。

由于常规插入非常慢,我可能必须打开30至40个会话才能达到所需的速度。是否有办法在同一张表中实现并行直接路径插入?还是有其他方法或DB调优可以帮助我增加每秒插入量?

注意:我已经尝试过分区表,并且锁仍在表上而不在分区上。

奇迹拉

我通过使用带有分区子句的insert append找到了解决方案。如果insert子句包含分区信息,则锁位于分区而不是表上。

像这样写查询:

将/ * + append * /插入目标分区(ptnName),然后从source @ dblink选择*(分区过滤条件)。

我在目标表中创建了8个分区,并启动了8个会话以分别加载到各个分区中。它的性能与SQLLDR的速度相匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MySQL中批量插入记录?

来自分类Dev

Django:如何在事务中包装批量更新/插入操作?

来自分类Dev

VBA如何在SQL批量语法中插入动态参数

来自分类Dev

批量插入数据时如何在Cassandra中给出ttl?

来自分类Dev

oracle如何估计批量插入所需的空间

来自分类Dev

Oracle PL/SQL 中的批量插入

来自分类Dev

如何使用cqlengine在cassandra中批量插入/批量插入?

来自分类Dev

使用 Oracle 批量插入

来自分类Dev

如何在ASP.NET Core 1.0中实现批量插入?

来自分类Dev

如何在ASP.NET Core 1.0中实现批量插入?

来自分类Dev

Oracle-如何知道批量插入已结束?

来自分类Dev

使用批量插入在oracle中的表之间移动大数据

来自分类Dev

在oracle中批量插入时,表名称无效

来自分类Dev

如何在Oracle中插入两个表的总和?

来自分类Dev

如何在Oracle中按顺序插入2个查询?

来自分类Dev

XML批量插入Oracle表

来自分类Dev

在RavenDB中批量插入

来自分类Dev

如何在Mongoskin中使用无序批量插入?

来自分类Dev

如何在Mongoskin中使用无序批量插入?

来自分类Dev

如何在循环中使用批量更新插入?

来自分类Dev

如何在 CrateDB 中使用 python 执行批量插入?

来自分类Dev

如何在Oracle 11g SQL中的插入查询中插入新行

来自分类Dev

如何在Postgres中批量插入,而忽略过程中可能发生的所有错误?

来自分类Dev

如何在Postgres中批量插入,而忽略过程中可能发生的所有错误?

来自分类Dev

如何在传单中批量添加标记?

来自分类Dev

如何在laravel 4中批量更新

来自分类Dev

如何在kdb +中批量上传

来自分类Dev

如何在Rails中批量查询关联?

来自分类Dev

如何在laravel中批量保存列表?

Related 相关文章

热门标签

归档