Поступила заявка от пользователя на долгое открытие формы документов Диадок. Раньше никто на это не жаловался, решил покопаться. Выяснил, что пользователь поменял настройку периода документов при запуске модуля. У большинства юзеров прописана настройка по умолчанию "Текущий день", а у него "Текущий квартал". Если в день приходит около 100-150 документов, то модуль открывается быстро, но если за квартал пришло уже около 52 тыс. документов, то модуль подвисает на 8 минут.
Стало интересно, в чем дело. Запустил открытие формы за квартал с замером производительности. Получил такую картину:
Оказалось, что 86% процентов времени тратится на поиск строки в процедуре ТаблицаОтборов_УстановитьОтборы (модуль объекта обработки Контур ЭДО).
В таблице значений Таблица нет индекса по этой колонке. Поэтому через расширение добавил индекс:
Открыл ещё раз форму документов. На этот раз форма открылась гораздо быстрее. Всего за 1 минуту 17 секунд на тех же 52093 документах.
Определенно с индексом поиск работает гораздо быстрее.
На этом всё. До новых встреч и не забывайте про индексы.