Что лучше выбрать Partitioning или вынос данных в другую базу (таблицу)?

В последнее время довольно распухла база, около 26 гигов, причем есть несколько таблиц, которые занимают 95% места всей БД.

Есть таблица "приемы", где записи создаются по датам.

Поэтому сначала подумал сделать Partitioning допустим по годам, но соль в том, что к таблице приёмы, паровозиком идут еще несколько: файлы и свойства приёма, собственно эти последние две таблицы самые и большие.

Подскажите как лучше поступить? Использовать Partitioning для таблицы "приёмы", понятно по годам, а вот для связанных таблиц файлы и свойства приёма, что лучше делать?

Или уже дописывать логику и выносить физически старые приёмы а соответственно с ними файлы и свойства в отдельную базу (чтобы удобнее работать с дампами и тд) или делать доп. таблицы по годам, и уже обрабатывать данную логику в коде? (честно переписывать конечно не очень хочется).
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Как всегда, человек выстрелил себе в ногу, но ищет почему-то партитуру Маленькой ночной серенады Моцарта.
Казалось бы, при чем здесь партиционирование, если проблема в том, что в БД хранятся файлы?

Ну вот как можно быть настолько слепым, и не видеть реальной проблемы, а уноситься фантазиями в какие-то совершенно голубые дали, вообще никак не связанные с реальностью?

Партиционирование применяется, когда в БД много строк.
А физический размер БД не имеет значения.

Надо во-первых, выкинуть файлы из БД
А во-вторых, решать только реальные проблемы, а не "что-то у меня база растолстела"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
partitioning

пока ты остаешься в пределах одной базы, у тебя работают например транзакции, т.е. операции записи будут атомарными, даже если будут задевать в пределах этой транзакции несколько партиций, а если раскидаешь таблицу по нескольким базам, транзакции уже работать не будут.

а вот ускорить работу партиций так же как это сделала бы дополнительная база - можно, разместив файлы таблиц на физически другом диске (особенно это актуально если у тебя hdd)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы