Callback
  • Від місця на ринку до магазину

  • -

  • Від магазину до торговельної мережі

  • -

  • Від торгівлі до виробництва

Оптимізація бази даних Торгсофт: індекси та статистики

Володимир Витищенко
Володимир Витищенко

Експерт з автоматизації торгівлі у Торгсофт

Оптимізація бази Торгсофт: що це дає і коли потрібна

Оптимізація бази даних через відновлення/реорганізацію індексів та оновлення статистик — обов’язкова сервісна операція для відновлення швидкодії Торгсофт при великих обсягах даних або після масових змін у базі.

Матеріал призначений для користувачів і системних адміністраторів, які мають базові навички роботи з операційною системою, службами Windows та Microsoft SQL Server. Усі описані дії виконуються на власний ризик: некоректні зміни налаштувань, служб або бази даних можуть призвести до втрати даних або непрацездатності програми. Перед внесенням змін рекомендується створити актуальну резервну копію бази даних, перевірити вільне місце на диску та переконатися, що немає активних користувачів у системі. Якщо відсутня впевненість у правильності дій або розумінні наслідків — слід звернутися до технічної підтримки.

Коли оптимізація обов’язкова: тригери за часом, обсягом і змінами

Оптимізацію потрібно виконувати, якщо є хоча б один із факторів:

  • база даних активно використовується понад 6–12 місяців,

  • виконувались масові операції (імпорт товарів, інвентаризації, очищення журналів),

  • база наближається до ліміту SQL Server Express (10 ГБ),

  • після оновлення версії Торгсофт зʼявились різкі сповільнення.

Ознаки, що база потребує оптимізації: повільні форми, звіти, помилки та ліміт 10 ГБ

Користувач зазвичай скаржиться на:

  • дуже довге виконання окремих операцій (закриття інвентаризації, формування документів),

  • «зависання» форм Наявність товару, Торгівля з випискою рахунка,

  • звіти формуються хвилинами,

  • помилки типу:

    • Arithmetic overflow

    • переповнення файлової групи SQL,

  • база займає 9–10 ГБ і зʼявляються збої запису.

Причини сповільнення

  1. Фрагментація індексів
    Через постійні записи/видалення SQL використовує неефективні плани виконання.

  2. Застарілі статистики
    Оптимізатор SQL неправильно оцінює обсяг даних.

  3. Надлишкові дані
    Старі журнали, статистики закритих періодів.

  4. Обмеження SQL Server Express
    Жорсткий ліміт 10 ГБ викликає помилки і деградацію швидкодії.

  5. Застаріла версія SQL Server (2005)
    Не підтримує сучасні запити Торгсофт.

Як прискорити базу

1. Стандартна оптимізація (обовʼязковий мінімум)

Виконати сервісну операцію:

Файл → Відновити та реорганізувати індекси та оновити статистики

Результат:

  • SQL формує нові плани виконання,

  • швидкість операцій зростає у кілька разів.

2. Режим «Оптимізація бази даних» (версія 2022.0.48+)

Для складних і «важких» баз: Файл → Оптимізація бази даних

Що відбувається:

  • використовується Database Engine Tuning Advisor,

  • аналізуються реальні повільні запити,

  • створюються індивідуальні індекси саме під вашу базу.

Фіксований ефект з практики:

  • прискорення форм у 10–15 разів,

  • закриття інвентаризації: з годин до хвилин.

3. Якщо база наближається до 10 ГБ (SQL Express)

Обовʼязкові дії:

  1. Видалити зайві журнали:

    •    Протокол дій користувачів,

    •    Журнал змін документів (залишити, наприклад, 3 місяці).

  2. Видалити статистики закритих періодів (код 006).

  3. Після цього:

    •    відновити індекси,

    •    виконати Shrink через SQL Server Management Studio.

Очікуваний результат:

  • зменшення розміру БД у 1.5–2 рази,

  • зникнення помилок переповнення.

4. Перевірити версію SQL Server

  • SQL Server 2005 — не рекомендований, оптимізація може не дати ефекту.

  • Мінімально допустимо: SQL Server 2014.

Перевірка після оптимізації

Після оптимізації:

  • форми відкриваються за секунди,

  • звіти формуються без затримок,

  • немає зависань у користувачів,

  • розмір бази стабільний і не росте аномально.

Профілактика на майбутнє

  • виконувати оптимізацію раз на 3–6 місяців,

  • регулярно закривати періоди,

  • не зберігати журнали роками,

  • контролювати розмір БД,

  • використовувати актуальну версію SQL Server.

Підсумок: правило дій

Якщо Торгсофт почав гальмувати — перше, що потрібно зробити, це оптимізація індексів і статистик.
Якщо база велика або близька до 10 ГБ — оптимізація + очищення + shrink.


Програма обліку товару | Торгсофт



Facebook Instagram YouTube Twitter Google News Apple Podcast SounCloud

Додати коментар

Додати коментар
Дякуємо за ваш відгук! Він буде опублікований після перевірки модератором.
Схожі статті