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

Откуда:
Сообщений: 839
в общем есть 2 запроса которые выполняются 1 - 0,5с; 2 -0,3с...но если это дело заджойнить то запрос выполняется 24-27 секунд
select p.*,lower(os.OS_Txt) OS_Txt,os.FirstCS,os.FinCS, os.KolVo,os.EdIzm from GetPCListForGrid p
left join saldo.dbo.OS_SALDO os on os.InvNr=p.InvNumber and os.Type between 600 and 699
where
    p.deletionmark=0
order by invNumber,id

GetPCListForGrid - вьюха которая выводит наименования в нужном виде
saldo.dbo.OS_SALDO - другая база на этом же сервере в которой есть дополнительная инфа

единственная связь это инвентарный номер
2 авг 11, 12:24    [11057963]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется запрос  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
ther,

1. делаете скрипт с двумя запросами + 3-ий с джоином.
2. Пропускаете это все через Database Engine Tunning Advisor.
3. Следуете рекомендациям.
2 авг 11, 12:43    [11058114]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется запрос  [new]
ther
Member

Откуда:
Сообщений: 839
пасиб попробую
прикол в том что если убрать p.deletionmark=0 то запрос выполняется за 0,6-0,7с
2 авг 11, 12:45    [11058137]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется запрос  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
ther
пасиб попробую
прикол в том что если убрать p.deletionmark=0 то запрос выполняется за 0,6-0,7с

Сколько записей в таблице по условию "p.deletionmark=0" ? Есть ли индекс по этому полю?
2 авг 11, 13:21    [11058418]     Ответить | Цитировать Сообщить модератору
 Re: медленно выполняется запрос  [new]
ther
Member

Откуда:
Сообщений: 839
записей 482..мизер...решение нашлось в
select p.*,lower(os.OS_Txt) OS_Txt,os.FirstCS,os.FinCS, os.KolVo,os.EdIzm from GetPCListForGrid p
left join saldo.dbo.OS_SALDO os on os.InvNr=p.InvNumber and os.Type between 600 and 699
and p.deletionmark=0
order by invNumber,id

и начальник еще подсказал что необходимо обновить статистику...ибо я сделал конвертацию данных из одной базы в другую..то есть сразу залилось 482 записи...но обновление статистики решило все проблемы...то есть первый запрос отработал быстро

пасибо
2 авг 11, 13:35    [11058527]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить