读书人

性能有关问题

发布时间: 2012-04-28 11:49:53 作者: rapoo

性能问题
string sql = string.Empty;

方法一:
for (int i = 0; i < 1000000; i++)
{
SqlConnection conn = ConnectionStringLib.ConnectionString;
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
方法二:
SqlConnection conn = ConnectionStringLib.ConnectionString;
conn.Open();
for (int i = 0; i < 1000000; i++)
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose();

测试速度相差无几,但是个人觉得有明显的不一样。第二种肯定高于第一种。
期待详细解答。


[解决办法]
第一种创建和释放了1000000次连接,第二种只创建和释放了1次,个人觉得应该是第二种比较优吧。。。
[解决办法]

探讨
第一种创建和释放了1000000次连接,第二种只创建和释放了1次,个人觉得应该是第二种比较优吧。。。

[解决办法]
是呀,第一个还new了100W次SqlConnection 对象应该慢些吧
[解决办法]
这两种方法都不可取,

for语句中尽量不要执行SQL查询,
可以预先将dataset提取出来,然后通过datatable的select实现查询,
[解决办法]
探讨
这两种方法都不可取,

for语句中尽量不要执行SQL查询,
可以预先将dataset提取出来,然后通过datatable的select实现查询,

[解决办法]
探讨
第一种创建和释放了1000000次连接,第二种只创建和释放了1次,个人觉得应该是第二种比较优吧。。。

读书人网 >asp.net

热点推荐