2011-01-13 73 views
0

我有20個記錄組,我需要將它們全部批量插入到一個連接中,因此有兩種解決方案(XML或存儲過程)。這個操作經常執行,所以我需要快速的性能和最小的開銷使用xml或存儲過程動態插入

1)我認爲XML執行速度較慢,但​​我們可以自由指定需要插入多少條記錄作爲批量生成適當的XML,我不知道在記錄中的每個字段的值,可能有字符,使我們的XML格式不正確,如使用「或值的標籤,所以我應該如何防止這種行爲?

2)使用存儲過程更快,但我需要定義所有輸入參數這是無聊的任務,如果我需要增加或減少插入一批記錄的數量,那麼我需要更改SP

這樣哪個解決方案在m對於Ÿ環境約束我

+0

什麼**版本**和SQL Server版本? – 2011-01-13 05:52:28

回答

1

XML可能是更好的選擇,但也有其他的選擇

如果您使用SQL Server 2008中,你可以使用Table Valued parameters代替。

與.NET 2.0開始,你如果你正在使用Oracle,你可以通過一個user defined type,但我不知道ODP和Oracle與之配合的是什麼版本,不得不使用SQLBulkCopy

的選項。

注意這些都是.NET示例。我不知道這會對你有用。如果您包含您正在使用的數據庫以及版本和客戶端技術,這可能會有所幫助。