gpt4 book ai didi

c# - 用于 .NET/Oracle 数据交换的关联数组与 UDT 表

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:37 25 4
gpt4 key购买 nike

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

到目前为止,我已经为 UDT 表设置了一个示例,效果非常好。它比对批量数据的每个项目行进行插入调用要好得多,并且很想就此保留它,但是我不愿考虑关联数组。

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

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

非常感谢您的帮助。

非常感谢

最佳答案

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

The major difference between:

(index by tables)[=associative arrays] and (nested tables/varrays)

is that index by tables are only available in PLSQL, nested tables/varrays are avaialable in both PLSQL and SQL.

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

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

关于c# - 用于 .NET/Oracle 数据交换的关联数组与 UDT 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4603454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com