看看这段转换代码为什么越跑越慢啊?

NqIceCoffee 2007-07-31 05:55:14
public partial class RunWebIDApp : Form
{
public RunWebIDApp()
{
InitializeComponent();
}

private void btn_run_Click(object sender, EventArgs e)
{
IList<myApp> list = new List<myApp>();
SqlConnection conn = new SqlConnection("server=.;uid=xiaoyi;pwd=123;database=CNKI");
SqlCommand comm = new SqlCommand("select svrUrl,svrAutoID from svr_Info", conn);
conn.Open();
using (SqlDataReader rdr = comm.ExecuteReader())
{
while (rdr.Read())
{
myApp app = new myApp();
app.url = rdr.GetString(0);
app.autoID = rdr.GetInt32(1);
list.Add(app);
}
}
foreach (myApp myapp in list)
{
comm.CommandText = string.Format("update classLink set webID={0} where svrUrl='{1}'", myapp.autoID, myapp.url);
int i = comm.ExecuteNonQuery();
this.tbx_show.Text += myapp.url + "==>" + i.ToString();
this.tbx_show.Focus();
this.tbx_show.Select(this.tbx_show.TextLength, 0);
this.tbx_show.ScrollToCaret();
Application.DoEvents();
}
conn.Close();
MessageBox.Show("OK,Done!");
}

}

public struct myApp
{
public string url;
public int autoID;
}

list有2000多条数据

classLink表中有8000多数据

按说应该跑的很快的呀

怎么越跑越慢,到现在2秒动一下

程序有什么问题?大虾给看看
...全文
171 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
另外,当然啦,你应该确认“svrUrl”字段可以使用到索引。
NqIceCoffee 2007-07-31
  • 打赏
  • 举报
回复
哦,原来是这样,感谢!感谢!!

i will try.

thanks a lot
  • 打赏
  • 举报
回复
SQL Server自身每秒执行1000个事务  -> SQL Server自身每秒执行1000个更新记录
  • 打赏
  • 举报
回复
或者,更好的办法,每1000个 myApp 组合进一个 update (SQL)命令。

SQL Server自身每秒执行1000个事务是完全可以的,你的时间不是花在服务器执行SQL上,而是客户程序以及与服务器交互上。你要尽量减少执行ExecuteNonQuery的次数。
wxlwxlwxlwxl 2007-07-31
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
每1000个update组合(连接)为一个SQL。
NqIceCoffee 2007-07-31
  • 打赏
  • 举报
回复
难道都下班鸟......?
NqIceCoffee 2007-07-31
  • 打赏
  • 举报
回复
帮顶就是朋友,呵呵....

在期待一下....
qi_ting 2007-07-31
  • 打赏
  • 举报
回复
我不是大虾,我不会解决。
NqIceCoffee 2007-07-31
  • 打赏
  • 举报
回复
等待大虾的出现......
我在地球 2007-07-31
  • 打赏
  • 举报
回复
学习

62,039

社区成员

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

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

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

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