Публичное пространство
Автоматическая подрезка данных в базах данных операционного дня и лояльности
10.2.66.0
- SRTE-1971Получение подробных данных проблемы… СТАТУС
Описание
Начиная с версии 10.2.66.0 есть возможность включения автоматической подрезки сущностей операционного дня и связаные с ним данных, которые не попадают в заданный интервал хранения. Автоматическая подрезка предназначена для того, чтобы у сервером с большим числом данных за день, не возникало проблем с его стабильностью и скоростью.
В данном случае производится удаление из таблиц, где количество записей может привезти к замедлению работы сервера.
Настройка
1. Выполните скрипт по set_operday.
DROP INDEX IF EXISTS od_purchase_index_id_session; CREATE INDEX od_purchase_index_id_session ON od_purchase USING btree (id_session); DROP INDEX IF EXISTS od_shift_id_session; CREATE INDEX od_shift_id_session ON od_shift (id_sessionstart);
2. Установите соответствующие настройки в set → sales_management_properties.
Дополнительная информация
- По-умолчанию установлено значение
NULL
- удаление не включено. - Удаление запускается по таймеру, 1 раз в определенный промежуток времени и выбирается для удаления все записи дата создания у которых больше
[текущая дата - настройка подрезки]
. - При подрезке записей каскадно удалются все связи каждого кортежа сущности в базах данных set_operday и set_loyal пока не закончатся записи с условием дата создания больше
[текущая дата-настройка подрезки]
- Учитываются ограничения количества выборки записей для подрезки, чтобы снизить вероятность выполнения запроса с очень большой результирующей выборкой.
- Изменение настроек подрезки (удаления) применяются автоматически без перезапуска службы сервера приложений SetRetail10.
- Во время подрезки чеков штатные процессы SetRetail10 не блокируются.
- Удаление записей не влияет производительность.
Пример удаления записей с данными по чекам
Условие:
- В базе данных = 200 000 000 чеков
- Каждый чек содержит минимум 10 позиций
- Каждый чек за текущую дату = 91 день
- Установлена настройка подрезки = 90
- Итого записей по условию
Дата создания документа которых больше[текущая дата-90]
в set_opreday → od_purchase = 2 100 000
Логика срабатывания:
- Срабатывает таймер по запуску функции подрезки
- Система делает выборку по таблице od_purchase
- Удаляются выбранные записи таблицы od_purchase
- Каскадно удаляются все связи каждого кортежа из set_opreday → od_purchase пока не кончатся записи с условием
Дата создания документа больше
[текущая дата-настройка подрезки]
© 1994-2024, ООО «Кристалл Сервис Интеграция».
Все права защищены..