回复人: guo(itpub.net) ( ) 信誉:100  2001-07-23 20:10:42Z  得分:0 
   
存储过程和Sql语句的效果差异在于预先执行路径的确定和网络传递时数据量较小两方面
像上面的语句如果说有区别,也就是在第一次执行时的过程有所不同:
单一的insert语句在执行第一次时要解析,确定执行路径,也就是类似于源程序的编译,当然它编译成的是数据库本身可以直接执行的代码.
  
 ===========================

解决方案 »

  1.   

    EXEC这个语句绝对不能提升性能,反而可能会对提升性能不利。若直接用select * from tablename,MSSQL会对语句进行缓存处理,在重复执行时不会重复进行编译,会提升一些语句的执行效率,所以直接写SQL反而可能会对效率有好处。但用动态SQL,是绝对不会利用到MSSQL的这个缓存的,它会每次都重新编译。而且对于存储过程的处理,我相信对MSSQL的负担绝对会比直接执行一条语句的系统开销大。当然对这个简单的语句,可能没有太大的差别。但我认为这样简单的语句也写一个存储过程,有点太、、、说实话,我觉得这样就是片面追求通用性,把简单的事情复杂化^_^。