Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 01:48

Разная скорость выполнения запроса

Автор Glob, 02 мар 2023, 20:34

0 Пользователей и 1 гость просматривают эту тему.

Glob

Подскажите в чем может быть огромная разница в выполнении двух запросов. Отличаются они только отбором. В первом Запросе отбор идет по "Партнер", а во втором по "Грузополучатель".
Первый запрос выполняется за 0,022 секунды, а второй за 3,425 секунды!!!!
ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
    ЗаказКлиента.Склад КАК Склад,
    ЗаказКлиента.ДатаОтгрузки КАК ДатаОтгрузки
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
ГДЕ
    ЗаказКлиента.ДатаОтгрузки >= ДАТАВРЕМЯ(2023, 1, 1)
    И ЗаказКлиента.ДатаОтгрузки <= ДАТАВРЕМЯ(2023, 12, 31)
    И ЗаказКлиента.Партнер = &Партнер
    И ЗаказКлиента.Проведен = ИСТИНА

ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
    ЗаказКлиента.Склад КАК Склад,
    ЗаказКлиента.ДатаОтгрузки КАК ДатаОтгрузки
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
ГДЕ
    ЗаказКлиента.ДатаОтгрузки >= ДАТАВРЕМЯ(2023, 1, 1)
    И ЗаказКлиента.ДатаОтгрузки <= ДАТАВРЕМЯ(2023, 12, 31)
    И ЗаказКлиента.Грузополучатель = &Грузополучатель
    И ЗаказКлиента.Проведен = ИСТИНА

Тестирую все на файловой БД. Может быть из-за отсутствия индекса во втором варианте? Есть вариант ускорить?

Upd: протестировал на Базе, которая крутится на Postgesql - там все естественно побыстрее, но разница во времени больше 10 раз (0,003 сек против 0,045)

LexaK

Glob,
ЦитироватьПодскажите в чем может быть огромная разница в выполнении двух запросов. Отличаются они только отбором.
где то на ИТС есть небольшая статейка оптимизация запросов,
там все понятненько (для думающих) расписано как оптимально строить запросы, тем более формировать условия

вот одно из утверждений: что даже порядок Условий в секции Где имеет очень большое значение!!!

если помогло нажмите: Спасибо!

Glob

Вопрос решен:
в первом случае системой был построен индекс по реквизиту "партнер" через  "КритерииОтбора"
Если проиндексировать реквизит "грузополучатель", скорости выполнения запросов выравниваются

Похожие темы (5)

Рейтинг@Mail.ru

Поиск