首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

性能有关问题

2012-04-28 
性能问题string sql string.Empty方法一:for (int i 0 i 1000000 i++){SqlConnection conn Con

性能问题
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次,个人觉得应该是第二种比较优吧。。。

热点排行