Влияние на производительность комментариев в хранимых процедурах SQL - PullRequest
16 голосов
/ 30 марта 2009

Недавно на моем рабочем месте были проинструктированы, что любые комментарии относительно наших хранимых процедур НЕ ДОЛЖНЫ существовать внутри хранимой процедуры, и должны использоваться расширенные свойства.

В прошлом мы использовали что-то вроде этого.

/*
 * NOTE: Auto-Generated Procedure DO NOT MODIFY
 */
CREATE PROCEDURE dbo.MyProc
AS
SELECT *
FROM MyTable
GO

Таким образом, каждый раз, когда кто-либо открывает процедуру в SSMS, он видит примечание, другие процедуры также существуют в процедурах для документирования нашего процесса. Теперь я не знал о каких-либо проблемах с производительностью / памятью. Однако у нас есть люди, которые настаивают на этом.

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

Итак, мой вопрос: кто-нибудь знает какую-либо документацию, которая может это доказать или опровергнуть?

Ответы [ 2 ]

18 голосов
/ 30 марта 2009

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

В основном это звучит как паника. Учитывая, насколько полезными могут быть комментарии (в меру), я бы потребовал доказательства , что комментарии снижают производительность. Это звучит как нелепая политика для меня.

(Требование доказательств в любое время, когда кто-то заявляет о производительности, является хорошим общим правилом - особенно , если они предполагают, что вы жертвуете удобочитаемостью или каким-либо другим положительным атрибутом ради предполагаемого прироста производительности.)

5 голосов
/ 30 марта 2009

Текст (включая комментарии) хранится в sys.sql_modules в SQL 2005+. Таким образом, это добавляет к системному размеру таблицы.

При компиляции для составления плана комментарии игнорируются: они являются комментариями. Как и любой разумный язык ...?

Однако при некоторых обстоятельствах отладочные комментарии , по-видимому, все еще можно анализировать и влиять на вещи.

Это то, что я видел некоторое время назад, но отклонил (и искал этот ответ).

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