批量插入 Oracle 数据库:哪个更好:FOR Cursor 循环还是简单的 Select?

Bulk Insert into Oracle database: Which is better: FOR Cursor loop or a simple Select?(批量插入 Oracle 数据库:哪个更好:FOR Cursor 循环还是简单的 Select?)
本文介绍了批量插入 Oracle 数据库:哪个更好:FOR Cursor 循环还是简单的 Select?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

哪个是批量插入 Oracle 数据库的更好选择?一个 FOR 光标循环,如

Which would be a better option for bulk insert into an Oracle database ? A FOR Cursor loop like

DECLARE
   CURSOR C1 IS SELECT * FROM FOO;
BEGIN
   FOR C1_REC IN C1 LOOP
   INSERT INTO BAR(A,
                B,
                C)
          VALUES(C1.A,
                 C1.B,
                 C1.C);
   END LOOP;
END

或简单的选择,例如:

INSERT INTO BAR(A,
                B,
                C)
        (SELECT A,
                B,
                C
        FROM FOO);

有什么具体原因,哪一个会更好?

Any specific reason either one would be better ?

推荐答案

我推荐选择选项,因为光标需要更长的时间.
对于必须修改查询的任何人来说,使用 Select 也更容易理解

I would recommend the Select option because cursors take longer.
Also using the Select is much easier to understand for anyone who has to modify your query

这篇关于批量插入 Oracle 数据库:哪个更好:FOR Cursor 循环还是简单的 Select?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)