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

Содержание:

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С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Автоматизация подсистемы учета взаиморасчетов с агентами и интернет-магазинами на базе «1С:Управление холдингом 8»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

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

– Оформление заказов поставщикам;
– Управление отношениями с поставщика...

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

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

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

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

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

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

Автоматизация складских операций на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

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

Реализовали разработку уникального модуля «Интернет-магазины» на базе прог...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

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

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управле...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

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

Производственные операции
Автоматизация бизнес-процессов...

МГК "Световые Технологии"
МГК "Световые Технологии"

Отрасль:

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

Специалисты "Кодерлайн" произвели доработки в системе 1С:ЕРП 2.4 с учетом треб...

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

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

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

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