бОльшие базы данных

PHPer

Новичок
бОльшие базы данных

Проблема такая: требуется сохранять историю сообщений пользователей, хотя бы месяц. За неделю набегает 5Гб, уже такую таблицу мускул еле держит.
Посоветуйте, плз, как оптимизировать можно работу с такими большими объемами
 

svetasmirnova

маленький монстрик
>За неделю набегает 5Гб, уже такую таблицу мускул еле держит.
Это не мускул, а файловая система не держит. Как я понимаю, таблица MyISAM?
>Посоветуйте, плз, как оптимизировать можно работу с такими большими объемами
Читай про MERGE и ARCHIVE таблицы.
 

PHPer

Новичок
Автор оригинала: svetasmirnova
Это не мускул, а файловая система не держит. Как я понимаю, таблица MyISAM?
Читай про MERGE и ARCHIVE таблицы.
Таблица InnoDB. MERGE тут точно не поможет, будет умопомрачительное количество дескрипторов файлов (при текущей посещаемости несколько десятков тысяч), да и запросы дольше выполнятся будут, так что разбиение вряд ли поможет. А где можно почитать про ARCHIVE таблицы?

Вообще, мне кажется, простым изменением типа таблицы здесь дело не решить, надо что-то кардинально другое выдумать
 

svetasmirnova

маленький монстрик
>А где можно почитать про ARCHIVE таблицы?
Там же в мануале, но они тоже только с MyISAM и MERGE.
>Таблица InnoDB.
Ух ты. Так как InnoDB использует разделяемое пространство, то размер InnoDB таблиц не ограничен возможностями файловой системы. Соответственно может быть куда больше 5Гб. У тебя innodb_file_per_table случайно не включено?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Re: бОльшие базы данных

Автор оригинала: PHPer
Проблема такая: требуется сохранять историю сообщений пользователей, хотя бы месяц. За неделю набегает 5Гб, уже такую таблицу мускул еле держит.
Посоветуйте, плз, как оптимизировать можно работу с такими большими объемами
Partitioning в 5.1.
Раньше я "вручную" разбивал данные на несколько таблиц, select можно делать на view или на merge.
 
Сверху