首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于.NET/Oracle数据交换的关联数组与UDT表

问用于.NET/Oracle数据交换的关联数组与UDT表
EN

Stack Overflow用户
提问于 2011-01-05 19:17:52
回答 1查看 1.6K关注 0票数 2

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

到目前为止,我已经为UDT表建立了一个示例,它工作得非常好。它的性能比为批量数据的每个项目行进行insert调用要好得多,我很想把它留在那里,但是我不会考虑关联数组。

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

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

您的帮助我们将不胜感激。

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-05 23:42:50

在Oracle端,基于this question on AskTom

之间的主要区别:

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

是因为表的索引只在PLSQL中可用,嵌套表/变量在PLSQL和SQL中都可用。

表索引更加灵活,您可以预期性能会有小幅提高,但这不太可能是一个巨大的改进。如果只是将数组用作将数据传递给Oracle的容器,那么差异可能太小而无法测量。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4603454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档