Как выбрать все ip-адреса абонентов, у которых подключена оп

Технические вопросы по UTM 5.0
Ответить
Slad
Сообщения: 210
Зарегистрирован: Сб мар 26, 2005 14:52

Как выбрать все ip-адреса абонентов, у которых подключена оп

Сообщение Slad »

Из faq взял такое:

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

В случае, если услуга подключена не в составе тарифного плана:
select sl.user_id,sl.account_id,inet_ntoa(ig.ip&0xffffffff) from service_links sl,service_links sl2,ip_groups ig,iptraffic_service_links il where il.ip_group_id=ig.ip_group_id and il.id=sl.id and sl2.service_id=21 and sl2.account_id=sl.account_id and sl2.tariff_link_id=0 and sl2.is_deleted=0 and sl.is_deleted=0 and ig.is_deleted=0;
В итоге запрос выполняется по 5 минут, при этом все админки подвисают, комп загружен под 100%. Как такое можно оптимизировать?

cm
NetUP Team
Сообщения: 17
Зарегистрирован: Ср фев 09, 2005 11:19

Re: Как выбрать все ip-адреса абонентов, у которых подключен

Сообщение cm »

Slad писал(а):Из faq взял такое:

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

В случае, если услуга подключена не в составе тарифного плана:
select sl.user_id,sl.account_id,inet_ntoa(ig.ip&0xffffffff) from service_links sl,service_links sl2,ip_groups ig,iptraffic_service_links il where il.ip_group_id=ig.ip_group_id and il.id=sl.id and sl2.service_id=21 and sl2.account_id=sl.account_id and sl2.tariff_link_id=0 and sl2.is_deleted=0 and sl.is_deleted=0 and ig.is_deleted=0;
В итоге запрос выполняется по 5 минут, при этом все админки подвисают, комп загружен под 100%. Как такое можно оптимизировать?

если услуга передачи ip трафика, то
select sl.user_id,sl.account_id,inet_ntoa(ig.ip&0xffffffff) from service_links sl,ip_groups ig,iptraffic_service_links il where sl.id=il.id and il.ip_group_id=ig.ip_group_id and sl.is_deleted=0 and il.is_deleted=0 and ig.is_deleted=0 and sl.service_id={id услуги};

Slad
Сообщения: 210
Зарегистрирован: Сб мар 26, 2005 14:52

Сообщение Slad »

Периодическая услуга просто.

Slad
Сообщения: 210
Зарегистрирован: Сб мар 26, 2005 14:52

Сообщение Slad »

как зная service_links.account_id получить accounts.ip?

Bazz
Сообщения: 6
Зарегистрирован: Чт май 26, 2005 08:46

Сообщение Bazz »

Может кто поможет... Меня интересует каким запросом выбрать из базы людей у которых НЕТ определенной услуги?
запрос вида where service_links.service_id!={номер} представляется сомнительным... да и если такой запрос посылаешь из админки, сиквел просто вешается (в общем-то и понятно почему).
подскажите пожалуйста, если кто знает...

sekuzzz
Сообщения: 8
Зарегистрирован: Вс авг 24, 2014 19:46

Сообщение sekuzzz »

Slad писал(а):как зная service_links.account_id получить accounts.ip?
select sl.user_id,sl.account_id,inet_ntoa(ig.ip&0xffffffff) from service_links sl,ip_groups ig,iptraffic_service_links il where sl.id=il.id and il.ip_group_id=ig.ip_group_id and sl.is_deleted=0 and il.is_deleted=0 and ig.is_deleted=0 and sl.user_id IN (select user_id from service_links where service_id={номер} and is_deleted=0);

Ответить