Друкарня від WE.UA

Вплив видалення великої к-ті рядків в БД

🔍 Вплив на зовнішні ключі:

  • Цілісність даних: Зовнішні ключі забезпечують зв'язок між таблицями. В момент масового видалення, система перевіряє кожен зовнішній ключ, що може істотно сповільнювати процес.

  • Залежності: Якщо видаляються дані, що мають залежності в інших таблицях, можливі помилки цілісності або навіть каскадне видалення.

🔍 Вплив на Індексацію:

  • Перебудова індексів: Після масових видалень індекси потребують перебудови, що вимагає чимало ресурсів.

  • Погіршення продуктивності запитів: Продуктивність запитів, що базуються на цих індексах, може знизитися.

🔍 Продуктивність та використання ресурсів:

  • Навантаження на сервер: Масові видалення вимагають багато ресурсів ЦПУ і пам'яті, впливаючи на продуктивність сервера.

  • Затримка: Можуть виникати затримки через блокування рядків або таблиць, заважаючи іншим конкурентним транзакціям.

🔍 Вплив на Транзакції:

  • Довгі транзакції: Масові видалення можуть призвести до створення довгих транзакцій, ускладнюючи управління ними та відновлення після збоїв.

  • Збільшення журналу транзакцій: Багато видалень = збільшений обсяг журналу транзакцій.

🔍 Альтернативні підходи:

  • Пакетне видалення: Видаляти дані невеликими порціями.

  • Розподіл видалення у часі: Виконувати видалення у періоди з нижчим навантаженням, наприклад, вночі.

    Тоді, потрібні метрики на це видалення. Щоб мати змогу перевірити чи воно взагалі виконувалося, якщо виконувалося, щоб не занадто довго. І в разі чого згенерувати відповідні алерти.

  • Перевірка залежностей: Перед видаленням слід перевіряти залежності, аби уникнути помилок цілісності.

⚠️ Ризики та Оптимізація:

  • Безпека даних: Необхідність надійних резервних копій і стратегії відновлення даних.

  • Оптимізація процесу видалення: Використання команд, які оптимізують процес (наприклад, TRUNCATE).

  • Моніторинг та профілювання: Необхідно стежити за використанням ресурсів і продуктивністю системи.

  • Вплив на реплікацію: Масове видалення може негативно впливати на процес реплікації.

  • Блокуючий виклик: Ні в якому разі не робити “велике” видалення через REST(блокуючі підходи) — виклик впаде по тайм-ауту і транзакція ролбекнеться

📌 Висновок: Масове видалення даних одним запитом може мати серйозні наслідки. Рекомендується використовувати обережні стратегії для мінімізації потенційних проблем.

Статті про вітчизняний бізнес та цікавих людей:

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

    Теми цього довгочиту:

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

    Теми цього довгочиту:

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

    Теми цього довгочиту:

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

    Теми цього довгочиту:

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

    Теми цього довгочиту:

    Читання
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Oleksandr Klymenko
Oleksandr Klymenko@overpathz

Java Software Engineer

7.5KПрочитань
1Автори
95Читачі
На Друкарні з 19 квітня

Більше від автора

Це також може зацікавити:

  • SQL Server RECOVERY vs NORECOVERY - Learn the Differences

    SQL Server offers dual restore modes, named WITH RECOVERY and WITH NORECOVERY, respectively. Here we will learn how the are different and what are their functions.

    Теми цього довгочиту:

    Sql
  • Прискорення компіляції Rust коду

    Мова програмування Rust має дві сторони: блискавично швидкий код, але й неймовірно повільну компіляцію. Цей недолік дратує розробників і стає постійним предметом жартів.

    Теми цього довгочиту:

    Rust

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити:

  • SQL Server RECOVERY vs NORECOVERY - Learn the Differences

    SQL Server offers dual restore modes, named WITH RECOVERY and WITH NORECOVERY, respectively. Here we will learn how the are different and what are their functions.

    Теми цього довгочиту:

    Sql
  • Прискорення компіляції Rust коду

    Мова програмування Rust має дві сторони: блискавично швидкий код, але й неймовірно повільну компіляцію. Цей недолік дратує розробників і стає постійним предметом жартів.

    Теми цього довгочиту:

    Rust