| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Хранение статистики |
| Автор: getme 27.9.2009, 21:28 |
| Добрый вечер и сразу к проблеме! есть сайт типа tinyurl, есть две таблицы одна "urls" другая "url_clicks" 1ая url_id|url|short_url 2ая id|datetime|url_id в первой мы храним укороченную ссылку, во второй все проходы через эту ссылку что собственно и привело к проблеме, сейчас таблица занимает 2GB а ее индекс 4GB недавно mysql упала изза больших I/O нагрузок в ФС вопрос такой как иметь статистику за последний день, неделю, месяц, год но при это чтобы БД так не пухла? |
| Автор: Akina 27.9.2009, 21:47 |
Какой, собсно, индекс? Всё лишнее (старше чем год) сноси в архив. Или, как вариант, по завершении дня снимай суточный срез и отправляй в архив статистик. Статистику уже бери по таблице срезов. |
| Автор: getme 28.9.2009, 09:56 |
| индекс стоит на datetime|url_id во второй таблице. все старше чем год сносится, похоже это картину не меняет группировать записи по дням тоже думал еще какие нибудь схемы хранения такой инфы есть? спасибо |
| Автор: Akina 28.9.2009, 10:21 |
| Странно, что индекс вдвое больше самОй таблицы... что-то тут не так. Кстати... а тебе реально надо делать выборки с детализацией поминутно? может, индекс date(datetime)+url_id более разумен? и есссно force key на выборках. Но вообще чтобы на такой (не сказать что чрезмерной) базе сервер сдох... может, имеют место нелады в железе или ОС? |