При попытке зайти в Мониторинг-Графики от юзера с гостевыми правами
SELECT g.*,hg.groupid,i.hostid FROM graphs g,graphs_items gi,items i,hosts_groups hg,rights r,users_groups ug WHERE (g.graphid/100000000000000) in (0) AND gi.graphid=g.graphid AND i.itemid=gi.itemid AND hg.hostid=i.hostid AND r.id=hg.groupid AND r.groupid=ug.usrgrpid AND ug.userid=8 AND r.permission>=2 AND NOT EXISTS( SELECT gii.graphid FROM graphs_items gii, items ii WHERE gii.graphid=g.graphid AND gii.itemid=ii.itemid AND EXISTS( SELECT hgg.groupid FROM hosts_groups hgg, rights rr, users_groups ugg WHERE ii.hostid=hgg.hostid AND rr.id=hgg.groupid AND rr.groupid=ugg.usrgrpid AND ugg.userid=8 AND rr.permission<2)) AND (hg.groupid IN (5)) AND (i.hostid IN (10125)) ORDER BY g.name ASC
Этот запрос занимает ядро проца целиком минут на 15....
Если таких запросов 4, то мой 4х ядерный сервак остается без проца...
А вот нельзя ли оптимизировать этот запрос ?
Это получается, ограничением прав теперь совсем пользоваться нельзя, всем full доступ делать чтоли ?
PS: FreeBSD 7.2-RELEASE-p4, PHP/5.2.10, postgresql 8.4.
SELECT g.*,hg.groupid,i.hostid FROM graphs g,graphs_items gi,items i,hosts_groups hg,rights r,users_groups ug WHERE (g.graphid/100000000000000) in (0) AND gi.graphid=g.graphid AND i.itemid=gi.itemid AND hg.hostid=i.hostid AND r.id=hg.groupid AND r.groupid=ug.usrgrpid AND ug.userid=8 AND r.permission>=2 AND NOT EXISTS( SELECT gii.graphid FROM graphs_items gii, items ii WHERE gii.graphid=g.graphid AND gii.itemid=ii.itemid AND EXISTS( SELECT hgg.groupid FROM hosts_groups hgg, rights rr, users_groups ugg WHERE ii.hostid=hgg.hostid AND rr.id=hgg.groupid AND rr.groupid=ugg.usrgrpid AND ugg.userid=8 AND rr.permission<2)) AND (hg.groupid IN (5)) AND (i.hostid IN (10125)) ORDER BY g.name ASC
Этот запрос занимает ядро проца целиком минут на 15....
Если таких запросов 4, то мой 4х ядерный сервак остается без проца...
А вот нельзя ли оптимизировать этот запрос ?
Это получается, ограничением прав теперь совсем пользоваться нельзя, всем full доступ делать чтоли ?
PS: FreeBSD 7.2-RELEASE-p4, PHP/5.2.10, postgresql 8.4.
Comment