【问题标题】:Where's the best place to SET NOCOUNT?SET NOCOUNT 的最佳地点在哪里?
【发布时间】:2009-01-19 18:05:45
【问题描述】:

对于在专用 SQL Server 上运行的大型数据库(数千个存储过程),最好在每个存储过程的顶部包含 SET NOCOUNT ON,还是在服务器级别设置该选项(属性 -> 连接- >“无计数”复选框)?听起来 DRY 原则(“不要重复自己”)适用,并且该选项应该设置在一个地方。如果 SQL Server 还托管其他数据库,那将反对在服务器级别设置它,因为其他应用程序可能依赖它。 SET NOCOUNT哪里最好?

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    将其设为服务器的默认值(除非出于历史原因,否则会设为默认值)。我从一开始就为所有服务器执行此操作。有没有想过为什么它是 SET NOCOUNT ON 而不是 SET COUNT OFF?这是因为早在 Sybase 时代,唯一的 UI 就是 CLI。当查询可能没有结果时显示计数是很自然的,因此没有指示它已完成。

    【讨论】:

      【解决方案2】:

      由于它是一个专用服务器,我会将其设置在服务器级别,以避免将其添加到每个存储过程中。 唯一会出现的问题是,如果您想要一个没有无计数的存储过程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-20
        • 2010-11-19
        • 2015-06-23
        • 1970-01-01
        • 2014-02-02
        • 1970-01-01
        • 2011-10-10
        • 2010-12-01
        相关资源
        最近更新 更多