【发布时间】:2013-12-24 12:50:17
【问题描述】:
我正在迭代一个(二进制)文件并在表中插入一些值。 收到值后,我将它们逐行插入到数据库中。
我的部分代码(示例值):
string sColumn1 = Getcolumn1Value();
string sColumn2 = Getcolumn2Value();
string sqlIns = "INSERT INTO table (column1, column2) " +
"VALUES (@column_1, @column_2)";
SqlCommand cmdInsPacket = new SqlCommand(sqlIns, connection);
cmdInsPacket.Parameters.AddWithValue("@column_1", sColumn1);
cmdInsPacket.Parameters.AddWithValue("@column_2", sColumn2);
cmdInsPacket.ExecuteNonQuery();
cmdInsPacket.Parameters.Clear();
因为有数百万条记录,我想知道插入一组(例如 500 条)而不是一个接一个是否更好。
有什么好的建议可以解决这个问题(我的建议(组插入)有用吗)
(MS SQL Server 2008 R2 和 C#)
【问题讨论】:
-
您应该查找批量插入
-
如果有数百万条记录,我认为您正在使用 Excel 表,所以通过 Excel 将数据上传到 SQL SERVER。
-
不是 Excel 工作表! (这是一个二进制文件 - 专有格式)无法在 SQL 服务器中直接导入。
-
你好 Robertico 什么是二进制文件?
-
@Nayeem Mansoori:不包含纯文本,但需要处理字节。但这不是我的问题。单次插入工作正常,但正在寻找加快插入速度的解决方案
标签: c# sql sql-server-2008 bulkinsert