2011-06-07 144 views
3

什麼是傳遞一個字符串數組從.NET應用程序到SQL Server 2005存儲過程是最好的,最優選(如果可能的話,高效)的方式?將數組傳遞給存儲過程

1)傳遞字符串的陣列作爲逗號或分號分隔的字符串,並將其解析爲一個臨時表?

2)將數組作爲XML和使用SQL Server 2005和的方法將其解析到一個臨時表?

3)寫入一個ancilliary存儲過程以單獨和具有.NET調用它的陣列中的每個元件處理每個字符串?

4)其他...什麼?

我想說的解決方案2)是最優雅的一個,但肯定不是最有效的......是嗎?

+0

數組應該多大--10行還是1mln? – Dalex 2011-06-07 12:04:08

+0

在正常的情況下,它會很小,但我不能限制它。 – 2011-06-07 12:08:32

+2

SQL Server 2005中的數組和列表。http://www.sommarskog.se/arrays-in-sql-2005.html – 2011-06-07 12:22:55

回答

1

這取決於您的要求。

  1. 在情況下,我輸入,然後通過XML和使用SQL Server 2005的方法將其解析到一個臨時表

  2. 如果記錄不散裝的,我可以用以分號分隔的字符串。

  3. 如果是喜歡你有這樣的多重身份的基礎上,篩選記錄一些枚舉值然後我可以使用

Good and Bad points about array passing

希望這會幫助你。 :)

相關問題