向数据库大批量数据插入时,始终保持一个连接是否更好?

amnoh 2005-12-12 09:56:47
Asp.net中,需要向MsSql Server中插入大批量数据,
是保持一个连接,通过循环不停用cmd.ExecuteNonQuery()好呢,
还是每次cmd.ExecuteNonQuery()都重新打开一个连接好??
...全文
278 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
amnoh 2005-12-12
  • 打赏
  • 举报
回复
嗯,谢谢大家了,
由于使用的是存储过程,且参数很多,每次循环把cmd的parameter清空再新建就不太好,感觉浪费的时间太多,要是并发数一多,每个都保持较长时间的连接。。。。不敢想像啊。
也许, hdt(倦怠) 的方法不错,试试先,希望SqlDataAdapter在这方面的性能过得去。。。
先结了
纷享刘晨 2005-12-12
  • 打赏
  • 举报
回复
数据库操作中最费时的就是断开/连接数据库,如果循环插入大批量数据,最好/一定要保持连接,都插入以后再关闭。
真相重于对错 2005-12-12
  • 打赏
  • 举报
回复
用SqlDataAdapter.Update( dataset )
ye_zi 2005-12-12
  • 打赏
  • 举报
回复
一个连接就行了
qiangsheng 2005-12-12
  • 打赏
  • 举报
回复
一个连接
smae 2005-12-12
  • 打赏
  • 举报
回复
我也想知道
xczgb 2005-12-12
  • 打赏
  • 举报
回复
保持数据完整性。
xczgb 2005-12-12
  • 打赏
  • 举报
回复
我用的是前者(传数组)
cmd = new SqlCommand();

SqlTransaction tr ;
tr = conn.BeginTransaction();
cmd.Connection = conn;
cmd.Transaction = tr;
try
{
foreach (string Sql in strSql)
{
cmd.CommandText = Sql;
cmd.ExecuteNonQuery();
}
tr.Commit();
}
catch
{
tr.Rollback();
}
11262215 2005-12-12
  • 打赏
  • 举报
回复
个人认为,如果是持续的插入大量数据,应该维持数据库连接~!
amnoh 2005-12-12
  • 打赏
  • 举报
回复
怎么不出来呢....

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧