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

Содержание:

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

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

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

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

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

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

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

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

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

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

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

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

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

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

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

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

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

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

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

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

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

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

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

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

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО «Иви.ру»
ООО «Иви.ру»

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

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

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

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

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

- Оперативный учет...

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

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

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

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