Где лучшее место для SET NOCOUNT? - PullRequest
3 голосов
/ 19 января 2009

Для большой базы данных (тысячи хранимых процедур), выполняемой на выделенном SQL Server, лучше включить SET NOCOUNT ON в верхней части каждой хранимой процедуры или установить этот параметр на уровне сервера (Свойства -> Соединения -> флажок "без счета")? Похоже, что применяется принцип СУХОЙ («Не повторяй себя»), и эта опция должна быть установлена ​​только в одном месте. Если на SQL Server также размещены другие базы данных, это будет противоречить настройке на уровне сервера, поскольку другие приложения могут зависеть от него. Где лучшее место для SET NOCOUNT?

Ответы [ 2 ]

2 голосов
/ 19 января 2009

Сделайте его по умолчанию для сервера (что было бы, за исключением исторических причин). Я делаю это для всех серверов с самого начала. Вы когда-нибудь задумывались, почему это SET NOCOUNT ON вместо SET COUNT OFF? Это потому, что еще в дни Sybase единственным интерфейсом был CLI; и было естественным показывать счетчик, когда запрос может не показывать результатов, и, следовательно, не указывать, что он был завершен.

1 голос
/ 19 января 2009

Поскольку это выделенный сервер, я бы установил его на уровне сервера, чтобы избежать необходимости добавлять его к каждой хранимой процедуре. Единственная проблема, которая возникнет, если вы захотите хранимую процедуру, в которой нет счетчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...