Сокращение роста Mysql Таблица, связанная со временем - PullRequest
2 голосов
/ 08 октября 2009

У нас есть база данных с данными о времени. Как вы можете себе представить, он растет (и замедляется) со временем. 50% считываний и 25% вставок и 25% действий по обновлению текущих (в этом месяце) данных, 100% - более старых данных.

  • Хорошо, что старые данные также становится менее важным.
  • Плохо то, что иногда нам нужно запросить весь период от настоящего обратно к в прошлом году.

Теперь я хочу иметь архитектуру mysql, которая обслуживает младшие данные быстрее, чем старые.

Есть ли способ сделать это в MySQL?


post scriptum: Конечно, поскольку мы работаем с ruby ​​на рельсах и активной записью на прикладном уровне, мы можем легко переписать базовый класс активной записи, чтобы получить доступ к нескольким таблицам и переместить старые данные в другую таблицу. НО, потому что мы также читали запросы из других систем, таких как отчеты, которые должны иметь возможность доступа к старым и новым данным, а иногда и к обоим одновременно, я хотел бы решить их на MySQL.

Ответы [ 2 ]

3 голосов
/ 08 октября 2009

Разделение MySQL в значительной степени сделано только для вас . Это требует от вас быть на 5.1.

1 голос
/ 08 октября 2009

Я бы разделил таблицу на (как минимум) 2 таблицы и сохранил текущие данные в одной, а архивные данные - в другой. Затем используйте представление MySql, чтобы создать «виртуальную» таблицу, которую можно использовать, когда требуются все данные, в противном случае получить доступ к требуемым данным напрямую с помощью таблицы actall.

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