25.03.2025 Константин Маркин 1643
Зависимость связей в запросах от индексов БД ...

Содержание:

1. Подготовка системы компоновки данных 1С к тестированию

2. Параметры выполнения тестов в системе программирования 1С


Про индексирование в базах данных и конкретно в 1С уже написано очень много статей и большинство аспектов освещено. В сегодняшней статье будем проверять тезисы из официального руководства https://its.1c.ru/db/v8std/content/652/hdoc.


Проверим следующие тезисы:   

- для попадания в индекс важен порядок полей в соединении таблиц (поля должны находиться в начале).

- для попадания в индекс важен порядок полей в выборке (поля должны идти подряд, без вклинивания).   

 

1. Подготовка системы компоновки данных 1С к тестированию


Создадим демонстрационную базу данных. Регистр накопления ДенежныеСредства, регистр сведений СчетаПокупателей, ОтправкаУведомлений. Движения в регистры делаются документами СчетНаОплату и ПоступлениеДенежныхСредств.

 


Конфигурация тестовой базы

 

В регистрах установим флаг индексировать только у полей Контрагент и Договор, у измерения Организация не будем ставить флаг Индексирование.


Платформа 1С создаст индексы по этим полям.

    


Индекс по полю Контрагент

   


Индекс по полю Договор

 


Индекс по полю Организация

 

Заполним данными. Записей в регистре ДенежныеСредства — 5 534 400, регистре СчетаПокупателей - 5 534 000, справочнике Контрагенты — 10 000, справочнике Договоры - 100 000.

            

Смоделируем бизнес-процесс, когда наша организация выставляет контрагентам каждый месяц 1 числа счет на оплату (Документ СчетНаОплату), а компания-контрагент до конца текущего месяца должна совершить оплату.   


Для маркетинговой акции необходимо выяснить, какие контрагенты своевременно оплачивают счета.

 

2. Параметры выполнения тестов в системе программирования 1С


База данных развернута на сервере Postgres15.5.

Замеры выполняются без обхода выборки, только время выполнения.

После каждого запроса очищаем статистику pg_stat_reset().

На сервере запущен только сервер 1С и сервер баз данных.

На сервере установлена только одна база данных.

Замеры каждого запроса производятся по 5 раз с очисткой статистики и указанием среднего времени.

 

Выполним запросы из Табл.1

Табл.1 Описание выполняемых запросов

1.png
2.png
3.png
4.png
5.png
6.png

 

Как видно из таблицы по времени выполнения, тезисы подтверждаются, выигрыш в производительности в максимальном исполнении достигает 16%, что не так мало, особенно если запрос на реальной базе будет выполняться часто.


При выполнении было замечено, что если не очищать статистику, то план запросов оптимизируется, и выигрыш по производительности снижается и не превышает 8-10 %. В некоторых случаях перестановки полей и вклинивания перестают менять время выполнения.


Не ставилось целью проверки, но утверждение из статьи, что не надо устанавливать флаг на первое измерение, так как платформой автоматически создастся индекс с первым измерением — справедливо только для регистра сведений, для регистра накоплений такой индекс не создался.


Специалист компании ООО "Кодерлайн"

Константин Маркин

Наши проекты

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Управление холдингом 8

Бухгалтерский учет;
Расчет зарплаты и кадровый учет;...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

Внедренное типовое решение:
1С:Бухгалтерия

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение