Вступить в клуб →
средняявопросЗапросы, СКД и производительность

Отбор по складу в секции ГДЕ вместо параметров виртуальной таблицы

Отчёт по остаткам одного склада работает почти столько же времени, сколько отчёт по всей компании (в базе несколько десятков складов). Текст запроса:

ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки
ГДЕ
    Остатки.Склад = &Склад

Почему отбор почти не ускоряет запрос?

  • Виртуальная таблица всегда читает всю таблицу итогов целиком, ускорить такой запрос нельзя
  • Не хватает индекса по измерению «Склад»: пока в свойствах измерения не включено индексирование, отбор выполняется перебором всех строк
  • Условие применяется к уже рассчитанному результату: отбор по складу нужно передавать в параметры виртуальной таблицы
  • Условие нужно заменить соединением со справочником складов: соединения выполняются быстрее условий

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела