SET NOCOUNT可以或多或少提升一点性能,现在有一个矛盾,这语句在当前会话设置后,之后的所有查询都不会再显示"XXX行受到影响",但是关闭会话重新建立 一个会话在进行查询的话就会出现"XXX行收到影响"
现在问题是:是不是SET NOCOUNT都要写进每一个存储过程中?
另外一个商务网站的所有SQL是不是都应该写成存储过程样?

解决方案 »

  1.   

    我的习惯是尽量使用存储过程。
    不是每个储存过程都 set nocount on
      

  2.   

    1. 是不是SET NOCOUNT都要写进每一个存储过程中?
      原则上建议在SP及Script使用Set nocount on, 特别是有大量DML操作的情况.
      参考: http://msdn.microsoft.com/zh-cn/library/ms189837.aspx2.另外一个商务网站的所有SQL是不是都应该写成存储过程样?
      不一定,看需求,看哪种方式管理/维护/拓展比较方便咯.