Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 медленно выполняется update на прилинкованном сервере  [new]
filll
Member

Откуда: РФ
Сообщений: 253
Уважаемый Алл,
возникла проблема следующего характера:
Есть сервер (SERVER1) к нему прилинкован другой сервер (SERVER2)
На SERVER1 из Query Analyzer запрос
UPDATE SERVER2.MyBASE.dbo.MyTable SET NAME = 'BLABLA' WHERE ID = '100'
выполняется за две секунды, но если этот же запрос выполняется из хранимой процедуры на том же SERVER1, то время выполнения увеличивается до 30 секунд.

На всякий случай привожу текст хранимки:
CREATE PROCEDURE MyProc
@ID varchar(20)
AS
UPDATE SERVER2.MyBASE.dbo.MyTable SET NAME = 'BLABLA' WHERE ID = @ID
GO

почему так происходит?
как ускорить выполнение запроса из хранимки?
Заранее благодарен за помощь.
21 окт 11, 13:28    [11478486]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется update на прилинкованном сервере  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
set nocount on - в самое начало процедуры попробуйте воткнуть.
21 окт 11, 13:33    [11478526]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется update на прилинкованном сервере  [new]
filll
Member

Откуда: РФ
Сообщений: 253
set nocount on не помогло :(
21 окт 11, 13:40    [11478566]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется update на прилинкованном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104751
filll
почему так происходит?

Потому что для константы '100' и для переменной @ID строятся разные планы
21 окт 11, 13:45    [11478599]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется update на прилинкованном сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
CREATE PROCEDURE MyProc
@ID varchar(20) 
AS
EXEC SERVER2.MyBASE.dbo.sp_executesql N'UPDATE MyTable SET NAME = ''BLABLA'' WHERE ID = @ID', <тут определение и присовение значений параметрам>
GO
21 окт 11, 13:56    [11478691]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется update на прилинкованном сервере  [new]
filll
Member

Откуда: РФ
Сообщений: 253
Glory , Вы правы, спасибо.
pkarklin спасибо, попробую Ваш вариант
21 окт 11, 14:06    [11478777]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить