MySQL автоматическое разбиение базы данных - PullRequest
14 голосов
/ 01 февраля 2010

У меня есть таблица базы данных mysql, которую я хочу разделить по дате, особенно по месяцам и годам. Однако при добавлении новых данных за новый месяц мне не нужно вручную обновлять базу данных.

Когда я первоначально создаю свою базу данных, у меня есть данные в 09 ноября, 09 декабря, 10 января и т. Д. Теперь, когда начинается февраль, я бы хотел, чтобы раздел 10 февраля был создан автоматически. Это возможно?

Ответы [ 3 ]

4 голосов
/ 01 февраля 2010

Существует несколько решений, если вы хотите получить полное решение, проверьте этот пост на kickingtyres . Это базовая комбинация хранимой процедуры, выполняющей анализ и создание раздела (с некоторыми регистрациями!).

Все, что вам нужно сделать, это настроить его под тип вашего раздела (в примере используется раздел bigint) и запланировать процедуру для запуска с MySQL Event Scheduler.

1 голос
/ 03 декабря 2010

Я сделаю то, что сделал другой (опубликуйте ссылку) Быстрое введение в MySQL Partitioning

(посмотрите на странице 50 то, что вам нужно - раздел по дате) Изменить: я перечитал ваш пост более тщательно - если вы хотите изменить разделы по месяцам, почему бы вам не создать Mysql event, который делает это

1 голос
/ 01 февраля 2010

Да, вам может понравиться расширенная функциональность разделения в 5.5:

http://dev.mysql.com/tech-resources/articles/mysql_55_partitioning.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...