Динамический SQL в рамках хранимой процедуры

Можно установить Windows Server 2003 с ролью Почтового сервера. Это идет с Windows, так в некотором смысле это свободно (как в Вас уже оплаченный его).

Если Вы даете серверу IP недопустимого шлюза затем, он не может послать электронные письма, и можно проверить все, что Вы должны на своей LAN.

Будучи новым быть очень осторожным. Я проверил бы в большой степени в безопасности для Windows Server 2003 особенно в отношении электронной почты. Это могло сделать превосходный вектор из нападения на Вас.

0
задан 24 November 2009 в 22:42
2 ответа

Лучше избежать динамического SQL, если это возможно, верно. Для более детального обсуждения посмотрите, что это ТАК распараллеливает. Однако рассматривать конкретно Ваш вопрос: EXEC ('SELECT d21 FROM t1') оператор вел бы себя точно как будто запрос от клиента, содержащего сценарий SELECT d21 FROM t1 был получен сервером. Если план уже будет в кэше, то он будет выполняться от кэша (экономящий некоторые детали как изменения версии метаданных и т.д. и т.д.). В противном случае это будет скомпилировано, новый план, созданный, и работает. Обратите внимание что запрос как SELECT field FROM Table то, что называют 'тривиальным запросом плана', стоимость генерации плана относительно чего-то вроде этого абсолютно незначительна в большинстве систем.

1
ответ дан 23 November 2019 в 13:22

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

0
ответ дан 23 November 2019 в 13:22

Теги

Похожие вопросы