对于在专用SQL Server上运行的大型数据库(数千个存储过程),是在每个存储过程的顶部包含SET NOCOUNT ON更好,还是在服务器级别设置该选项(属性->连接-> "no count“复选框)?这听起来像是DRY原则(“不要重复自己”)的应用,这个选项应该只在一个地方设置。如果SQL Server还托管了其他数据库,那么就不能在服务器级别设置它,因为其他应用程序可能会依赖它。哪里是SET NOCOUNT最好的地方?
发布于 2009-01-19 18:20:14
将其设置为服务器的默认值(由于历史原因,它将是默认的)。我从一开始就对所有服务器执行此操作。有没有想过为什么它设置为NOCOUNT ON而不是SET COUNT OFF?这是因为在很久以前的Sybase时代,唯一的UI是CLI;当查询可能没有显示任何结果时,显示计数是很自然的,因此没有任何迹象表明查询已经完成。
发布于 2009-01-19 18:07:47
因为它是一个专用服务器,所以我会在服务器级别设置它,以避免将它添加到每个存储过程中。唯一的问题是,如果您想要一个没有计数的存储过程。
https://stackoverflow.com/questions/458548
复制相似问题