Оптимизация запросов 1с посредством индексации временных таблиц. Миф? Тестируем, смотрим, считаем.

06.04.2020 16:10:11   Владислав Фёдоров (feva)    1081

Оптимизация запросов 1с посредством индексации временных таблиц. Миф? Тестируем, смотрим, считаем.

Статья на сайте 1с: https://its.1c.ru/db/metod8dev#content:5842:hdoc
Платформа 8.3.16.1224
Серверный режим работы.
Пробуем на 800 000/400 000/10 000 записях!

Категории:
 Программирование

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. zhichkin 695 07.04.20 13:30 Сейчас в теме
Соединение записей временных таблиц выполняется по принципу "все со всеми". Что при полном соединении, что при левом соединении. В таком случае индексирование вообще не имеет смысла, так как сканирование (scan) всех записей таблиц в данном случае ничем не уступит поиску по индексу.

Было бы интересно увидеть пример когда индекс действительно нужен для соединения поиском (seek) конкретных значений в одной или обеих таблицах. Для того, чтобы увидеть разницу, нужно что бы селективность этих значений была бы высокой, то есть индекс содержал бы много уникальных значений.

Key lookup при соединении и получении данных тоже нужно иметь ввиду, однако 1С создаёт кластерный индекс на временных таблицах, так что в данном случае это не актуально.
байт; +1 Ответить
Оставьте свое сообщение
Дмитрий Жичкин. 1C# – 1С моей мечты
Решитко Дмитрий. Молчание "best practices": тестовые и эталонные данные, структура и связность, падения и новая функциональность, и другие неудобные вопросы к сценарному тестированию
Дмитрий Мишнов. Применение математических достижений в решении сложных задач бизнеса
Обзор основных возможностей Синтакс-помощника 1С + краткий обзор использования Шаблонов
Константин Гейнрих. История создания успешной системы чат-ботов на 1С
В поисках диаграммы Ганта с Павлом Чистовым
Олег Филиппов. Как разработать Web приложение и остаться 1С-ником
Битрикс24 и 1С. Работа с методом LIST
1С backend сервер? Да вы смеетесь
Что изучать программисту 1С?