powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_executesql vs SELECT in SP
5 сообщений из 5, страница 1 из 1
sp_executesql vs SELECT in SP
    #32022756
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пипл!

В BOL сказано

Transact-SQL Tips

...
In a Transact-SQL script, stored procedure, or trigger, use sp_executesql to execute the SELECT statement

DECLARE @IntVariable INT
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)

/* Build the SQL string. */
SET @SQLString =
N'SELECT * FROM Northwind.dbo.Shippers WHERE ShipperID = @ShipID'
/* Specify the parameter format once. */
SET @ParmDefinition = N'@ShipID int'

/* Execute the string. */
SET @IntVariable = 3
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@ShipID = @IntVariable
...


Правильно ли я понимаю, что процедура вида

CREATE PROC test1
@UserID int
AS
SELECT Username, Password FROM Users WHERE UserID = @UserID

будет хужее с точки зрения скорости выполнения, нежели ее
эквивалент с использованием sp_executesql:


CREATE PROC test2
@UserID int
AS
declare @sql NVARCHAR(500)
SET @sql = N'SELECT Username, Password FROM Users WHERE UserID = @UserID'
EXECUTE sp_executesql @sql, N'@UserID int', @UserID
...
Рейтинг: 0 / 0
sp_executesql vs SELECT in SP
    #32022760
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что вы цитируете относиться к повышению вероятности повторного использования плана выполнения запроса("SQL Server 2000 has a better chance of reusing execution plans ..."). Повторное использование плана выполнения запроса конечно повышает производительность, но не надо воспринимать это как утверждение того, что все запросы, заданные явно, выполняются медленнее, чем запросы с помощью sp_executesql.
...
Рейтинг: 0 / 0
sp_executesql vs SELECT in SP
    #32022765
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть, резюмируя, необходимо создавать по две версии процедур и опытным путем выбирать наилучшую?
...
Рейтинг: 0 / 0
sp_executesql vs SELECT in SP
    #32022770
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо писать так чтобы было нагляднее, а если будет тормозить - тогда уже разбираться
...
Рейтинг: 0 / 0
sp_executesql vs SELECT in SP
    #32022773
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
необходимо создавать по две версии процедур и опытным путем выбирать наилучшую?

А также по несколько вариантов индексов и статистик для каждой таблицы, используемой в запросах. Можно попробовать изменить(читай - увеличить) количество оперативной памяти, "поиграться" с размещением файлов данных, журналов и собственно операционной системы на разных физических и логических дисках, с разными вариантами RAID(как на программном так и на аппаратном уровнях).
Другими словами производительность - понятие комплексное и персональное для конкретной системы и использованием только одной опции (sp_executesql vs SP) не достигается.

ЗЫ
Кроме того использование динамических запросов влияет на права доступа.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_executesql vs SELECT in SP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]