Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Индексирование временных таблиц в запросе 1С 8.3 (8.2)

Разработчики 1С очень часто игнорируют использование конструкции «ИНДЕКСИРОВАТЬ ПО» в запросе.

Зачем нужно индексировать поля в запросе 1С 8.3, я расскажу ниже.

Использование в запросе

Как работает ИНДЕКСИРОВАТЬ ПО?

Индексация в запросе нужна для более быстрого формирования результате запроса. Как это работает? Система строит индекс для временной таблицы, чтобы быстрее найти нужное значение.

Т.е. система работает точно так же, как и обычные индексы 1С, только для временной таблицы.

Где и как нужно использовать ИНДЕКСИРОВАТЬ ПО ?

Конструкцию рекомендуется использовать по полям временных таблиц, по которым эта временная таблица будет соединяться с другими таблицами баз данных. Это существенно повышает скорость выполнения соединения таблиц.

Однако следует учесть один момент. Построение индекса временной таблицы также требует времени на выполнение. Поэтому целесообразно использовать конструкцию «ИНДЕКСИРОВАТЬ ПО», только если Вы знаете, что во временной таблице будет не 1-2 записи. В противном случае эффект может быть обратным — быстродействие от индексированных полей не компенсирует времени построения индекса.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 2 на “Индексирование временных таблиц в запросе 1С 8.3 (8.2)
  1. 1. Что значит «рекомендуется использовать по полям временных таблиц, по которым эта временная таблица будет соединяться с другими таблицами баз данных»? У меня есть левое соединение где в правой части — таблица базы данных. Зачем индексировать временную таблицу если при выборке будет проводиться поиск в правой таблице? То есть индекс временной таблицы в данном случае не функционален.
    2. Если я связываю 2 временные таблицы левым соединением, какую таблицу я должен индексировать?
    3. В приведённом примере — какой смысл индексировать таблицу по единственному полю, если в индексе получается такое же количество записей как в таблице и (следовательно) обход индекса при выборке занимает примерно столько же времени?
    Такое впечатление, что писали статью «чтоб было», не думая.

    Ответить

  2. Отличная статья! Я например до этой статьи вообще не знал что в запросах есть команда ИНДЕКСИРОВАТЬ ПО.
    Хотя с фифо и лифо пока не понятно, но статья дала много света, открыла новое понимание некоторых вещей, по которым я был в тупике. Большое спасибо автору.

    Ответить

Добавить комментарий: