在执行缓慢的代码方面需要帮助 [英] need help with slow executing code

查看:85
本文介绍了在执行缓慢的代码方面需要帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何才能更有效地编写此代码,使其执行得更快?

How can I write this code more efficiently so it will execute faster?

DataTable dt1 = new DataTable();
dt1.Load(DbInfo.DataRdr(Conn, "SELECT DISTINCT     Events.Location FROM Events WHERE Events.Location NOT IN (SELECT Code FROM Locations)"));
  int cnt = 0;
  for (int i = 0; i < dt1.Rows.Count; i++)
  {
    Logging.Write(SetLength(" ", 10) + dt1.Rows[i]["Location"].ToString());
  }





---------------------
DbInfo.DataRdr返回一个SqlDataReader对象.





---------------------
DbInfo.DataRdr returns a SqlDataReader object.

推荐答案

这应该运行得更快一点
This should run a little faster
SqlDataReader reader = DbInfo.DataRdr(Conn, "SELECT DISTINCT Events.Location FROM Events WHERE 
NOT EXISTS( SELECT 1 FROM Location WHERE Code = Events.Location")
int colOrdinal = reader.GetOrdinal("Location");
while(reader.Read())
   {
   Logging.Write(SetLength(" ", 10) + reader.GetString(colOrdinal));
   }


如果您写5,000,000条记录,是的,这将非常慢.阅读本文,希望对您有所帮助.

left-outer-join-vs-not-exists1/ [^ ]

left-outer-join-vs-not-exists2 / [ ^ ]
If you write 5,000,000 records, yes it will be very slow. Read this, I hope it helps you.

left-outer-join-vs-not-exists1/[^]

left-outer-join-vs-not-exists2/[^]


在我看来,上面的代码是好的.
In my openion above code is good.


这篇关于在执行缓慢的代码方面需要帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆