Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Новый дизайн
Панель управления
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307  Горячая линия
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

2.7.3.6. Большой размер базы данных

Базы данных могут со временем расти и быть довольно объёмными, что в будущем может привести к нарушению правил предоставления услуг или заполнению дискового пространства. Причин для такого поведения множество, начиная от выбранного типа хранилища, заканчивая постоянно записываемыми данными в БД. В данной статье представлено несколько рекомендаций по уменьшению места, занимаемого базами данных.

Наиболее частые причины роста размера БД:

  • Используется тип хранилища InnoDB. InnoDB, в отличие от MyISAM, поддерживает транзакции, внешние ключи и другие полезные функции. Минусом InnoDB является то, что размер таблиц только растёт и никогда не уменьшается. Это связано с тем, что при удалении записей из таблицы место под ними остаётся зарезервированным для новых строк. Поэтому удаление данных не приводит к уменьшению места, которое занимает таблица на диске. Для уменьшения размеров таблиц можно использовать функцию оптимизации — она не только уменьшает размер базы данных, но и в некоторых случаях ускоряет работу с оптимизированными данными:
    1. Запустите оптимизацию таблиц базы данных.
    2. После завершения операции нажмите на кнопку обновления информации о пространстве, занимаемом базой данных.
  • Особенности работы сайта или CMS:
    • Хранение сессий в базе данных. Некоторые CMS по умолчанию записывают сессии в базу данных, что увеличивает нагрузку на базу данных, а также может провоцировать огромный рост размера базы данных из-за проблем с удалением сессий или очень большой аудиторией сайта. Настоятельно рекомендуем для хранения сессий использовать файлы, Memcache(d) или Redis. Если всё же необходимо хранение сессий именно в базе данных — следует проверять наличие устаревших сессий, так как в некоторых ситуациях происходит сбой и записи в базе данных только накапливаются, что вызывает большой рост занимаемого пространства.
    • Запись кешируемых данных в базу данных. Существует ряд плагинов и систем, которые создают кеш страниц или элементов сайта и помещают его в базу данных, что в дальнейшем может сказываться как на производительности, так и на размере базы данных. Если на сайте есть подобный функционал — следует внимательно отнестись к его использованию и для больших проектов вовсе от него отказаться. Кеш лучше хранить в виде файлов или используя дополнительные, более производительные технологии, например Memcache или Redis.
Содержание