Оптимизация таблиц в новой сборке UTM5

Технические вопросы по UTM 5.0
Ответить
ppv
Сообщения: 5
Зарегистрирован: Ср фев 10, 2010 03:39

Оптимизация таблиц в новой сборке UTM5

Сообщение ppv »

Задавал вопрос в чужой теме:
viewtopic.php?t=7513
- но решил создать новую, т.к. там было уже слишком много писанины, и, возможно вопрос просто потерялся.

Если кто знает ответ или имеет мнение - подскажите, пожалуйста.

Оптимизация - уменьшает размер таблиц ~ в 10 раз.
Архивирование - уменьшает размер таблиц ~ на 25%.

Оптимизацию в последней версии биллинга убрали. Но:

Если добавить к таблицам:
discount_transactions_all,
discount_transactions_iptraffic_all
- поля которые убраны в последней версии, хотя бы на время выполнения оптимизации,

то утилита: utm5_optimizer - от старой версии выполняется нормально.

Можно ли доверять результатам такой оптимизации и как проверить ее результаты?

andrew.rbe
Сообщения: 36
Зарегистрирован: Ср фев 10, 2010 14:05

Сообщение andrew.rbe »

По идее можно выбрать ряд пользователей и до агрегации проверить запросом

Код: Выделить всё

SELECT discount_date, account_id, SUM(bytes), base_cost, SUM(discount), discount, service_name, t_class_name 
FROM discount_transactions_iptraffic_all, services_data, t_class 
WHERE t_class.id =  t_class
AND account_id = $aid 
AND discount_date > $start_date 
AND discount_date < $end_date
AND services_data.id = service_id 
GROUP by discount_date_hour,  t_class, base_cost, ipid
После, сделать такой же и сравнить результат. Запрос проверяет таблицу discount_transactions_iptraffic_all. Но это для 6й сборки. В 7й полей добавилось, я еще не смотрел что за поля.

RHAmzin
Сообщения: 72
Зарегистрирован: Чт апр 03, 2008 05:27

Сообщение RHAmzin »

andrew.rbe писал(а):По идее можно выбрать ряд пользователей и до агрегации проверить запросом

Код: Выделить всё

SELECT discount_date, account_id, SUM&#40;bytes&#41;, base_cost, SUM&#40;discount&#41;, discount, service_name, t_class_name 
FROM discount_transactions_iptraffic_all, services_data, t_class 
WHERE t_class.id =  t_class
AND account_id = $aid 
AND discount_date > $start_date 
AND discount_date < $end_date
AND services_data.id = service_id 
GROUP by discount_date_hour,  t_class, base_cost, ipid
После, сделать такой же и сравнить результат. Запрос проверяет таблицу discount_transactions_iptraffic_all. Но это для 6й сборки. В 7й полей добавилось, я еще не смотрел что за поля.

Вот эти поля нужно добавить:

ALTER TABLE `discount_transactions_all` ADD `is_canceled` INT NOT NULL DEFAULT '0'
ALTER TABLE `discount_transactions_iptraffic_all` ADD `is_canceled` INT NOT NULL DEFAULT '0'
ALTER TABLE `discount_transactions_all` ADD `comment` VARCHAR( 255 ) NOT NULL

ALTER TABLE `discount_transactions_all` ADD `dealer_transaction_id` REAL NOT NULL DEFAULT '0'
ALTER TABLE `discount_transactions_iptraffic_all` ADD `dealer_transaction_id` REAL NOT NULL DEFAULT '0'


ALTER TABLE `discount_transactions_all` ADD `dealer_payment_transaction_id` REAL NOT NULL DEFAULT '0'
ALTER TABLE `discount_transactions_iptraffic_all` ADD `dealer_payment_transaction_id` REAL NOT NULL DEFAULT '0'

ALTER TABLE `discount_transactions_all` ADD `is_canceled` INT NOT NULL DEFAULT '0'
ALTER TABLE `discount_transactions_iptraffic_all` ADD `is_canceled` INT NOT NULL DEFAULT '0'

Как отработает скрипт - посмотрим.. Результат скажу!

Ответить