| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > [MySQL] пренос данных из очень нагруженной таблицы |
| Автор: patap 19.7.2012, 10:47 |
| Есть сервер Logs, и таблица visit. в Logs.visit - пишется статистика. нагрузка этой таблицы примерно 500.000 инсертов в час => каждый день вставляется окло 13.000.000 записей Есть сервер Multi, таблица report. в Multi.report - нужно переносить статистику из Logs.visit за текущий день. Перенос данных - кроном Как лучше организовать перенос этих данных, с минимальной нагрузкой на Logs.visit, т.к как к этой таблице идет много инсертов и главное - это быстро сделать инсерт ? я думал сделать так: Logs.visit - разбить на две таблицы: Logs.visit_a и Logs.visit_b по четным часам: писать в Logs.visit_a и выгребать инфу из Logs.visit_b в Multi.report, переностиь из Logs.visit_b в Logs.visit, удалять из Logs.visit_b по нечетным: наоборот - писать в Logs.visit_b и выгребать инфу из Logs.visit_a в Multi.report из Logs.visit_a в Logs.visit, удалять из Logs.visit_a При таком раскладе юзера всегда будет обращаться к свободной от селектов таблице. У кого какие идеи, советы? |
| Автор: Fortop 20.7.2012, 14:42 |
| Выборки по этой таблице не предусмотрены? Тогда пишите в какой-нибудь redis, а оттуда уже переносите в фоне P.S. а почему не настроить репликацию? Вам записи в Logs мешают? Если их не удалять оттуда? |