mysql и UTM
mysql и UTM
Привет всем.
У меня такой вопрос: в какой таблице сохраняются "Отчеты по трафику"?
У меня такой вопрос: в какой таблице сохраняются "Отчеты по трафику"?
Если отбросить вариант с установкой новой версии утма с ротацией, то:vardanal писал(а):Ну как я могу удалить старые отчеты, чтобы размер базы UTM немножко уменьшилось?
Остановить ядро, удалить записи по дате. Не стоит забывать, что по закону три года отчеты хранить нужно.
Можно опять же руками слить часть записей в другую таблицу.
Конкретно можете сказать как удалить старые отчеты (пример плиз)X-Disa писал(а):Если отбросить вариант с установкой новой версии утма с ротацией, то:
Остановить ядро, удалить записи по дате. Не стоит забывать, что по закону три года отчеты хранить нужно.
Можно опять же руками слить часть записей в другую таблицу.
Да куда уж конкретней. Вам осталось лишь мануал по SQL чуток полистать, на предмет DELETE FROM и UNIX_TIMESTAMP. Это не верх сложности и много времени не займет.
Поле с датой в таблице discount_transactions_iptraffic_all и discount_transactions_all называется discount_date. Дата в нем хранится в формате unix timestamp (это число секунд, прошедших с 1 января 1970 года). Записи в этих таблицах связаны по полю id, то есть если запись с каким-либо id удаляется в discount_transactions_iptraffic_all, то ее надо удалить также из discount_transactions_all. Поэтому запросы на удаление должны быть одинаковыми для обоих таблиц. Если же нужно удалить только списания по трафику из discount_transactions_all, то дополнительно надо поставить условие service_type=3. Для discount_transactions_iptraffic_all это не нужно, там ничего кроме данных по трафику не хранится.
Удаление является деструктивной операцией, и прежде чем к ней приступать, нужно хорошо знать, что делаешь и к чему это приведет, и как минимум запастись резервной копией базы. Тем более когда работаешь с такой серьезной вещью, как биллинг. Лучше все это отработать на тестовой машинке. Поэтому и ответы даны рассчитанные на человека, хорошо знающего MySQL и структуру базы UTM.
Поле с датой в таблице discount_transactions_iptraffic_all и discount_transactions_all называется discount_date. Дата в нем хранится в формате unix timestamp (это число секунд, прошедших с 1 января 1970 года). Записи в этих таблицах связаны по полю id, то есть если запись с каким-либо id удаляется в discount_transactions_iptraffic_all, то ее надо удалить также из discount_transactions_all. Поэтому запросы на удаление должны быть одинаковыми для обоих таблиц. Если же нужно удалить только списания по трафику из discount_transactions_all, то дополнительно надо поставить условие service_type=3. Для discount_transactions_iptraffic_all это не нужно, там ничего кроме данных по трафику не хранится.
Удаление является деструктивной операцией, и прежде чем к ней приступать, нужно хорошо знать, что делаешь и к чему это приведет, и как минимум запастись резервной копией базы. Тем более когда работаешь с такой серьезной вещью, как биллинг. Лучше все это отработать на тестовой машинке. Поэтому и ответы даны рассчитанные на человека, хорошо знающего MySQL и структуру базы UTM.
Я удалил из базы данных отчеты до 2008-09-01. Все нормально, но только размер таблицы discount_transactions_all как было '5125M' так и осталось, но строков до 2008-09-01 больше нету.JAO писал(а): Поле с датой в таблице discount_transactions_iptraffic_all и discount_transactions_all называется discount_date. Дата в нем хранится в формате unix timestamp (это число секунд, прошедших с 1 января 1970 года). Записи в этих таблицах связаны по полю id, то есть если запись с каким-либо id удаляется в discount_transactions_iptraffic_all, то ее надо удалить также из discount_transactions_all.
Чем может быть это связано?
-
- Сообщения: 99
- Зарегистрирован: Чт апр 07, 2005 10:00