如果我正在做的就是在SQL Server 2008中将多行数据插入单个表中,哪个更快?
Table-Valued Parameter或a single insert statement with multiple values?
在这个简单的场景中你更喜欢哪一个?
答案 0 :(得分:1)
如果我正确理解了这个问题,我会使用表格值参数。否则我认为参数列表很快就会变得无法管理。你不希望最终得到类似的东西:
insert into YourTable
(col1, col2, ..., colN)
values
(@Row1Col1, @Row1Col2, ..., @Row1ColN),
(@Row2Col1, @Row2Col2, ..., @Row2ColN),
...
(@RowMCol1, @RowMCol2, ..., @RowMColN)
答案 1 :(得分:0)
由于两个操作都会将数据插入表中,因此问题就变成了; “使用存储过程来为我的系统处理多少表插入的开销是多少?”
您的系统现在是否允许直接从应用程序插入表格?如果是,那么就直接插入。
我更喜欢使用存储过程,因为它允许我添加审计,错误逻辑等,这让我感觉比直接将数据直接转储到表中更好。