Небольшой тест таблиц discount_transactions_all

Технические вопросы по UTM 5.0
Ответить
AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Небольшой тест таблиц discount_transactions_all

Сообщение AndrewE »

Сделайте пожалуйста запрос вида:

SELECT COUNT( * ) FROM `discount_transactions_all` WHERE `discount` =0

У меня результат 16070450

SELECT COUNT( * ) FROM `discount_transactions_all` WHERE `discount` <>0

результат 1326625

Т.е 16 миллионов записей с 0 списанием, в то время как общее кол-во записей 25 миллонов.

сижу пока на 5.2.1-004, но вот вопрос это нормальное поведение биллинга, или у меня все же какие-то косяки в настройках?

Результаты для меня несколько шокирующие...

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

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

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_all` WHERE `discount` =0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|   10057335 |
+------------+
1 row in set &#40;1 min 12.82 sec&#41;

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_all` WHERE `discount` <>0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    2728682 |
+------------+
1 row in set &#40;1 min 6.44 sec&#41;
Зебавно, зебавно)
Но у меня долгое время считался локальный трафик с нулевой стоимостью.
Отсюда и больше количество списаний.
Это можно подтвердить такими запросами:

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

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_iptraffic_all` WHERE `discount` =0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    9934364 |
+------------+
1 row in set &#40;1 min 3.12 sec&#41;

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_iptraffic_all` WHERE `discount` <>0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    2472336 |
+------------+
1 row in set &#40;57.13 sec&#41;
2AndrewE:
Огласите ваши классы трафика.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

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

mysql> SELECT COUNT&#40;*&#41; FROM discount_transactions_all WHERE discount=0;
+----------+
| COUNT&#40;*&#41; |
+----------+
| 15454936 |
+----------+
1 row in set &#40;4 min 31.71 sec&#41;

mysql> SELECT COUNT&#40;*&#41; FROM discount_transactions_all WHERE discount!=0;
+----------+
| COUNT&#40;*&#41; |
+----------+
| 21620453 |
+----------+
1 row in set &#40;4 min 32.19 sec&#41;

mysql>
Есть тому причины. Исходящий и локальный у нас считается, но он нулевой стоимости.

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

У меня локальный не попадает вообще, т.е. он просто не заруливается на интерфейс с которого снимается netflow.

Трафик с 0 стоимостью будет не только, потому что разуливается локальный трафик, но и скажем который якобы не классифицирован.

Опять же трафик по безлимитным тарифам тоже будет 0 стоимости.
Но почему он попадает в discount_transactions_all не совсем понятно.

Интересно можно ли оттуда удалить эти записи, и насколько оно будет безболезненым для биллинга.

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


mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_iptraffic_all` WHERE `discount` =0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|   16116307 |
+------------+
1 row in set &#40;1 min 10.82 sec&#41;

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_iptraffic_all` WHERE `discount` <>0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    1326265 |
+------------+


bear
Сообщения: 498
Зарегистрирован: Чт ноя 15, 2007 11:53

Сообщение bear »

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

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_iptraffic_all` WHERE `discount` =0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    9299623 |
+------------+
1 row in set &#40;6.68 sec&#41;

mysql> SELECT COUNT&#40; * &#41; FROM `discount_transactions_all` WHERE `discount` <>0;
+------------+
| COUNT&#40; * &#41; |
+------------+
|    7553421 |
+------------+
1 row in set &#40;22.99 sec&#41;

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

AndrewE писал(а):Интересно можно ли оттуда удалить эти записи, и насколько оно будет безболезненым для биллинга.
Интуиция подсказывает, что можно, причем это ни на что не отразится.
Только надо бахать в обоих таблицах эти строчки, т.к. id строки в одной таблице совпадает с id строки в другой.
Но проверять интуицию лень)

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

XoRe писал(а):
AndrewE писал(а):Интересно можно ли оттуда удалить эти записи, и насколько оно будет безболезненым для биллинга.
Интуиция подсказывает, что можно, причем это ни на что не отразится.
Только надо бахать в обоих таблицах эти строчки, т.к. id строки в одной таблице совпадает с id строки в другой.
Но проверять интуицию лень)
если их удалить то в отчетах по трафику клиент не будет видеть предоплаченного трафика, или трафика с 0 стоимостью

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

Насчет трафикас 0 стоимостью - это понятно.
Ну и хрен с ним, с таким трафиком.
А насчет предоплаченного трафика не знал.
Но... если такой трафик не используется, то и с ним хрен )

slavab
Сообщения: 32
Зарегистрирован: Пт фев 09, 2007 08:58

Сообщение slavab »

Я удалял из этих таблиц данные по account_id для пользователей, которым не нужны отчеты (например тестовые), база уменьшилась в 5 раз.

Mirsaid
Сообщения: 9
Зарегистрирован: Вт мар 18, 2008 15:19
Откуда: Kokand, Uzbekistan

Сообщение Mirsaid »

A vobshe discount_transactions_all i discount_transactions_iptraffic_all ... oni svyazani?

Yesli ya udalyu ne nujnie iz pervogo eto normalno? ili vliyaet na chemto?

SOLDIER
Сообщения: 649
Зарегистрирован: Чт мар 16, 2006 18:07

Сообщение SOLDIER »

Связаны.Но не настолько, чтобы удаление из одной таблицы приводило к невозможности работы с другой. Ключевое слово - iptraffic. Удалять стоит - понимая, что это может вызвать вопросы у пользователей. Вполне закономерные вопросы. Например - "Почему я не вижу - сколько я трафика я потребил в январе 2007 года".

Ответить