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

Откуда:
Сообщений: 356
Здравствуйте.
Ситуация: долго работает следующий update:
UPDATE a
set STATUSOPL= (case
			when A.SUMWITHTAX>P.SUMPL AND isnull(P.SUMPL,0)<>0 then 3473
			when A.SUMWITHTAX=P.SUMPL AND isnull(P.SUMPL,0)<>0 then 3472
			else 3471 END)
FROM ACCDOC A (nolock)
	LEFT  JOIN
		#ttmp p on P.ACCDOC=A.VCODE
                      AND EXISTS (SELECT ACCDOC FROM PLATEGSPECSACC (nolock)
						WHERE PCODE=187929
						      AND a.VCODE=ACCDOC)


Как его можно ускорить, помогите пожалуйста
9 сен 14, 11:38    [16553393]     Ответить | Цитировать Сообщить модератору
 Re: Долго работает update  [new]
Glory
Member

Откуда:
Сообщений: 104751
R-Magistr
Как его можно ускорить, помогите пожалуйста

Посмотреть в план выполнения
9 сен 14, 11:41    [16553410]     Ответить | Цитировать Сообщить модератору
 Re: Долго работает update  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
посмотреть план как минимум
посмотреть что у вас там лефт джойном выбераеться
Почему если таблица временная нельзя сразу привети к 0 значения нулл ?
9 сен 14, 11:41    [16553415]     Ответить | Цитировать Сообщить модератору
 Re: Долго работает update  [new]
_djХомяГ
Guest
А нафига к таблице которую апдейтите присоединять другую именно LEFT JOIN , а не INNER JOIN
Может пересмотреть вообще логику update
9 сен 14, 12:44    [16553827]     Ответить | Цитировать Сообщить модератору
 Re: Долго работает update  [new]
Glory
Member

Откуда:
Сообщений: 104751
А почему EXISTS находится в условиях join-а, если в подзапросе условие сранивает таблицы ACCDOC с PLATEGSPECSACC ?
И из какой таблицы вообще будт взято поле в AND a.VCODE=ACCDOC ?
9 сен 14, 12:49    [16553862]     Ответить | Цитировать Сообщить модератору
 Re: Долго работает update  [new]
R-Magistr
Member

Откуда:
Сообщений: 356
Glory,

Всем спасибо
11 сен 14, 06:27    [16562151]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить