В случае, если услуга подключена не в составе тарифного плана:
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%. Как такое можно оптимизировать?
В случае, если услуга подключена не в составе тарифного плана:
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 услуги};
Может кто поможет... Меня интересует каким запросом выбрать из базы людей у которых НЕТ определенной услуги?
запрос вида where service_links.service_id!={номер} представляется сомнительным... да и если такой запрос посылаешь из админки, сиквел просто вешается (в общем-то и понятно почему).
подскажите пожалуйста, если кто знает...
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);