【问题标题】:Associative Arrays vs UDT Tables for .NET/Oracle Data Interchange.NET/Oracle 数据交换的关联数组与 UDT 表
【发布时间】:2011-01-05 11:17:52
【问题描述】:

我需要在 .NET (c#) 应用程序和 Oracle 数据库之间传递批量数据。到目前为止,已经出现了两种替代方案,即关联数组和用户定义数据类型 (UDT) 表

到目前为止,我已经为 UDT 表设置了一个示例,它工作得很好。它的性能比对批量数据的每个项目行进行插入调用要好得多,并且很想将其保留在那里,但是我不愿考虑不考虑关联数组。

一位同事告诉我,关联数组是一种语言结构,只能在 Oracle 的 PL/SQL 代码中识别,而不是纯 SQL。鉴于鼓励我们的 Oracle 开发人员尽可能编写基于集合的 SQL,选择 UDT 表似乎是自然的选择。

但是,我有兴趣了解更多这两种交换批量数据的方法之间的相对优缺点,以便我可以在未来做出更明智(和合理)的决定。

您的帮助将不胜感激。

非常感谢

【问题讨论】:

    标签: c# .net oracle data-interchange


    【解决方案1】:

    来自 Oracle 方面,基于this question on AskTom

    两者的主要区别:

    (按表索引)[=关联数组]和(嵌套 表/变量)

    是表索引只是 在 PLSQL 中可用,嵌套 表/变量在两者中都可用 PLSQL SQL。

    按表索引更灵活一些,您可以预期性能会略有提高,但不太可能有很大的改进。如果您只是将数组用作将数据传递给 Oracle 的容器,则差异可能太微不足道而无法测量。

    如果您打算使用 SQL 中的函数,则必须使用嵌套表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 2011-08-12
      • 2012-09-02
      相关资源
      最近更新 更多