【问题标题】:What is the most effective way to get a list down into a sproc from an application?从应用程序中获取列表到存储过程中的最有效方法是什么?
【发布时间】:2012-01-12 12:07:58
【问题描述】:

我知道有几种选择:

  • 分隔文字(例如“Item1,Item2”或“Item1:Item2”)
    • 需要拆分和处理,本机不支持
  • XML 片段(例如 )
    • 使用 XML 处理会产生开销,我确信这是相当大的

我想到的另一个方法是在 proc 中要求它们之前实际写掉列表项(这里比紧密耦合更紧密),并使用某种批量插入。

还有另一种方法是将商业层中列表项所需的逻辑应用于检索到的数据。

我知道这可能只是逐案调用,但通常想知道首选方式是什么。我讨厌模棱两可,但应该接受它,现在有一个二分法。

【问题讨论】:

  • 这是哪个 SQL - Oracle、MySQL、SQLServer...?
  • MSSQL。我认为数据库技术几乎可以忽略不计(认为问题的实现会招募类似的机制)
  • 类似主题位于:parameter-passing-vs-table-valued-parameters-vs-xml-to-sql-2008-from-net-applic

标签: sql


【解决方案1】:

对于 MSSQL 2008+,最好的方法是表类型参数,对于 2008 之前的版本,有一堆奇怪的决定 - 从 Xml 或逗号分隔的字符串开始,到带有调用会话和清理的持久表结束。

【讨论】:

    【解决方案2】:

    从接受this question的回答,有一个话题here的广泛讨论。

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      相关资源
      最近更新 更多