powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите почему время выполнение маленького по объему запроса больше?
14 сообщений из 14, страница 1 из 1
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779787
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, есть два запроса.

Запрос 1, время выполнения около 12 мс
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select
coalesce(sum(case when tb.TPA_ior is null then RF.Status else 0 end),0) as status,
CON.OID as oid
from
database3 AS CON
left join database4 AS RR ON RR.Asset = CON.OID
left join database1 AS RF ON RF.Reader = RR.Oid
and RF.Date between dateadd(hour, 7, cast(cast(getdate() as date) as datetime)) and dateadd(hour, 19, cast(cast(getdate() as date) as datetime))
left join database2 as tb on tb.TPA_ior = CON.OID and tb.View_problem = 'простой' and RF.Date between tb.Start_date and isnull(tb.End_date, null)
where
CON.IP = '1.2.3.4'
group by CON.OID;



Запрос 2, его собрат в упрощенном виде, где на выходе только один параметр. Время выполнения около 70 мс
Код: sql
1.
2.
3.
4.
5.
6.
7.
select coalesce(sum(case when tb.TPA_ior is null then RF.Status else 0 end),0) as status
from database1 AS RF 
left join  database4 AS RR ON RF.Reader = RR.Oid 
    AND RF.Date BETWEEN dateadd(hour, 7, cast(cast(getdate() as date) as datetime)) 
    AND dateadd(hour, 19, cast(cast(getdate() as date) as datetime))
left join database2 as tb on tb.TPA_ior = RR.Asset and tb.View_problem = 'простой' and RF.Date between tb.Start_date and isnull(tb.End_date, null)
where RR.Asset = 'E3E5F3C0-A20A'



Подскажите почему второй запрос в пять раз дольше выполняется, хотя он в разы проще по объему данных (понимаю что миллисекунды)
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779791
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hopfen_Artur,

в планы посмотри
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779794
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hopfen_Artur,

ничего себе "собрат в упрощенном виде" в одном есть таблица/вьюха database3 в другом ею даже и не пахнет.
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779801
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,

ну во втором не нужна database3 потому что передается на прямую ID, да и на выходе один параметр.
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779804
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

в одной из таблицы моему пользователю запрещено план смотреть =(
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779809
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hopfen_ArturTaPaK,

в одной из таблицы моему пользователю запрещено план смотреть =(
не слышал про такие ограничения :)
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779811
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

Сообщение 262, уровень 14, состояние 4, строка 2
Разрешение SHOWPLAN запрещено в базе данных "database1".
Время синтаксического анализа и компиляции SQL Server:
время ЦП = 0 мс, истекшее время = 0 мс.

Время работы SQL Server:
Время ЦП = 0 мс, затраченное время = 0 мс.
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779816
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKHopfen_ArturTaPaK,

в одной из таблицы моему пользователю запрещено план смотреть =(
не слышал про такие ограничения :)
повезло значит.
у меня вот на работе DBA ругались, что планы бы надо смотреть перед запуском, а я им в ответ
Сообщение 262, уровень 14, состояние 4, строка 1
SHOWPLAN permission denied in database

троли...

SHOWPLAN уровня DATABASE, а значит, в той вьюхе - таблица (TVF?) из другой базы.
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779817
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hopfen_Artur,

это похоже на таблицу?
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779826
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

да database1 и database4 это другая база, там у меня доступ только на чтение. Но факт что в первом запросе они тоже присутствуют и запрос там быстрее. Не пойму где что подправить.

Вообще запрос 2 это модифицированный вот этот запрос. У него время выполнения около 6 мс, но оно и понятно:
Код: sql
1.
2.
3.
4.
5.
6.
select sum(RF.Status) as status
from database1 AS RF
left join database4 AS RR on RF.Reader = RR.Oid
where RR.Asset = 'E3E5F3C0-A20A'
AND RF.Date BETWEEN dateadd(hour, 7, cast(cast(getdate() as date) as datetime)) 
   AND dateadd(hour, 19, cast(cast(getdate() as date) as datetime))
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779830
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dateadd(hour, 19, cast(cast(getdate() as date) as datetime))

это зачем такие преобразования?

database4 - это синоним на объект в другой базе?
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779839
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

да, переходная, там связи.
Если это заменить то запрос станет 30 мс.
Код: sql
1.
2.
3.
4.
select coalesce(sum(case when tb.TPA_ior is null then RF.Status else 0 end),0) as status

--заменить на 
select sum(RF.Status) as status



Но блин оно и в первом запросе есть, и вещь нужная.
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779842
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы сравниваете абсолютно разные запросы , у них планы отличются, данные другие, индексы скорее всего тоже другие, что вы хотите не понятно
...
Рейтинг: 0 / 0
Подскажите почему время выполнение маленького по объему запроса больше?
    #39779847
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

я плохо разбираюсь в запросах, спасибо что уделили время, оставлю как есть наверное
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите почему время выполнение маленького по объему запроса больше?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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