请问一个性能问题,欢迎讨论
我想知道下面两种方式,哪种效率较高: 
 一、 
 public   static   int   ExecuteNonQuery(string   connString,   CommandType   cmdType,   string   cmdText,   params   SqlParameter[]   cmdParms)   {   
 			SqlCommand   cmd   =   new   SqlCommand();   
 			using   (SqlConnection   conn   =   new   SqlConnection(connString))   { 
 				PrepareCommand(cmd,   conn,   null,   cmdType,   cmdText,   cmdParms); 
 				int   val   =   cmd.ExecuteNonQuery(); 
 				cmd.Parameters.Clear(); 
 				return   val; 
 			} 
 		} 
 使用:SQLHelper.ExecuteNonQuery(a,b,c)这样开发者使用方便。这是petshop3.0里面的例子 
 二、 
 public   int   ExecuteNonQuery(string   connString,   CommandType   cmdType,   string   cmdText,   params   SqlParameter[]   cmdParms)   {   
 			SqlCommand   cmd   =   new   SqlCommand();   
 			using   (SqlConnection   conn   =   new   SqlConnection(connString))   { 
 				PrepareCommand(cmd,   conn,   null,   cmdType,   cmdText,   cmdParms); 
 				int   val   =   cmd.ExecuteNonQuery(); 
 				cmd.Parameters.Clear(); 
 				return   val; 
 			} 
 		} 
 使用: 
 SQLHelper   sh=new   SQLHelper(); 
 sh.ExecuteNonQuery(a,b,c)   
 再问:使用using   (SqlConnection   conn   =   new   SqlConnection(connString))这种方式,在静态里关闭会及时吗?
------解决方案--------------------这个东西不是很重要的.重要的是查询的时候要建好索引..这个性能才是很大的
------解决方案--------------------80%和20% 精力不要放在这种东西上面啊.
------解决方案--------------------一看public static int ExecuteNonQuery有static就不打算用了。 
 完全为了偷懒不写new
------解决方案--------------------不回答你问题的是因为他们没有使用过 SQLHelper 。   
 程序里每一个细节都应该考虑。能了解的就了解。   
 说不用考虑什么什么的,他们是为了完成项目而完成。并没有提高自己的意识。
------解决方案--------------------使用using (SqlConnection conn = new SqlConnection(connString))这种方式   
 不管在哪里都是没什么问题的。   
 我没有弄明白的是:如果使用 static的方式会不会造成用户等待的情况。   
 假设一种情况   
 1、使用static的方式(也就是方式一) 
 2、一千个人同时访问(对于大型网站不是很难得的事情吧)     
 在这种情况下会不会发生有一个人要等到其他的999人都访问完毕之后才会轮到他。   
 我对于静态函数很不了解,也许我的想法根本就是错误的,不过既然是静态的,那么内存里只会有着一个函数,一千个人都会使用这一个函数,势必会出现等待的情况;   
 如果说是多线程的话,那么内存里就不止这一个函数了,有多少个线程就会出现多少个函数吗?   
 如果是这样的话,那么和new 有多大的区别呢?     
 PS: 
 我一直使用new的方法,有几点原因: 
 1、对于静态函数不了解,不敢使用。 
 2、静态了,存储过程的参数就不好处理了。 
 3、静态的情况,事务也是不太好处理的。     
 但是现在看看服务器上网站占用的内存——比我想象的大了许多,访问量不太高就已经达到了386M,SQL才占了200多M。不知道是不是new的原因。 
 程序也没有缓存什么数据,分页也处理的挺好,这方面是不会占用什么内存的。     
 要是能够分析出来那些地方占用内存就好了。     
------解决方案--------------------个人比较偏向与静态的,方便真的很方便! 
 不过如果真的很多人同时在用那么肯定会影响速度, 
 如果用new的话可能会多耗内存,但是用完后马上就释放掉了 
 有什么好担心的呢? 
------解决方案--------------------为什么不把那个类继承IDisposable呢? 
 在Dispose方法里回收资源呢?
------解决方案--------------------楼上兄弟,C#资源回收它自己会完成吧 
 ---------------------------------------   
 这点偶强列建议你自已完成回收,因为你根本不知道GC什么时候来执行这个动作. 
 那么这段时间内,资源岂不是浪费...   
 对于new和static的性能问题,到还真没怎么在意过....这个问题估计只有愚翁能给出答案....   
 另外,我不觉得楼主是在钻牛角尖,支持下..... 
------解决方案--------------------