Задавайте вопросы, мы ответим
Вы не зашли.
Неактивен
Я правильно понимаю, что Вы храните данные за последние три месяца в
двух таблицах? Почему не переносить в архив тогда, когда информация уже
не будет меняться?
Неактивен
В первой таблице хранятся данные за последние три месяца, а во вторую таблицу переносится все, что старше 3х месяцев и данные во второй таблице уже не меняются
Отредактированно vivalaakam (31.08.2011 17:51:35)
Неактивен
Не понятно приём тут все перечисленные запросы ... По моему по теме это только последние 2
Неактивен
Кажется, задача «перенести всё, что старше трех месяцев» решается куда более
простыми запросами:
SET @ts = NOW() - INTERVAL 3 MONTH; INSERT INTO table__archive SELECT * FROM table WHERE `date` < @ts; DELETE FROM table WHERE `date` < @ts;
А вообще обычно просто каждый месяц делают новую табличку с новым именем
Неактивен
paulus, Интересно а если использовать Partitioning с делением по месяцам.
Выборка из одной секции партиционирования может быть менее оптимально чем выборка из отдельной таблицы ?
Неактивен
Добавление новой таблицы — простая операция, которая никак не затрагивает
работу других запросов. Добавление же нового раздела, к сожалению, при этом
блокирует доступ ко всем остальным разделам таблицы (хотя и ненадолго, если
не нужно перебрасывать данные в другой раздел). Но если можно себе позво-
лить такой простой, то да, тоже вполне себе решение
Неактивен