从应用程序中获取列表的最有效方法是什么?

问题描述:

有几个备选方案,我意识到:从应用程序中获取列表的最有效方法是什么?

  • 分隔文字(如“项目1,项目2”或“项目1:项目2”)
    • 需要分割和处理,这本身不支持
  • XML片段(例如)
    • 招致开销XML处理,这我确信是相当沉重

我想到的另一个问题是,在需要它们进入proc(比紧密耦合更紧密)和某种批量插入之前,实际写下列表项。

另一种方法是将biz层中列表项的逻辑应用于检索到的数据。

我意识到它可能只是一个案例调用,但通常会想知道什么是优先方式。我讨厌含糊不清,但应该拥抱它,现在有一个二分法。

+0

这是哪个SQL - Oracle,MySQL,SQLServer ...? – 2012-01-12 12:16:30

+0

MSSQL。我认为数据库技术将几乎可以忽略(认为该问题的实现会招聘类似的机制) – brumScouse 2012-01-12 12:22:40

+0

类似的主题:parameter-passing-vs-table-valued -values-vs-xml-to-sql-2008 -from-net-applic – brumScouse 2012-01-12 12:34:49

对于MSSQL 2008+,最好的方法是表格类型参数,对于2008之前的版本,有许多奇怪的决定 - 从Xml或以逗号分隔的字符串开始,并以呼叫会话和清理的持久表结束。

+0

这会帮助我。谢谢。 – brumScouse 2012-01-12 12:35:34

从接受的答案到this question,有关于主题here的广泛讨论。