ADO.NET 老牛拉车??
Ji秋风 2006-05-01 04:58:50 最近饶有兴致的修改了一个小程序,结果出乎以外。
程序业务逻辑比较简单,把这个文本文件中数据更新到数据库中,中间还包含了一些字符串解析、数据计算等过程。这个文本文件大小为200多M,记录条数为70多万条。
原来的程序是用c++/MFC开发的,数据库连接采用odbc方式。
伪代码大致如下:
先SQLPrepare创建更新语句,SQLBindParameter绑定参数,SQLExecute执行语句。
这样处理下来一般10分钟左右可以处理完成。
现在推出.net 2.0,在VS.net 2005用C#重新编写了以上小程序。
界面是弄的华丽了。但是效率老牛一样,1000条都没更新完成已经耗去我1分多钟。
我去掉数据库更新部分代码,对于文件及字符串处理,效率还可以,为什么以下代码效率会如此低下?
现在是每条记录都调用如下函数,sql语句根据参数生成。
SqlCommand command = null;
try
{
command = conn.CreateCommand();
command.CommandText = "...";
command.CommandType = CommandType.Text;
return command.ExecuteNonQuery();
}
catch (SqlException e)
{
//...
}
是否有啥好方法能够提高执行效率?