Czy jest możliwość optymalizacji takiego zapytania?

0

Witam,
Jak w temacie:
(...) WHERE 1 NOT IN (SELECT a.group_id FROM #__user_usergroup_map a WHERE a.user_id = u.id) AND 2 NOT IN (SELECT a.group_id FROM #__user_usergroup_map a WHERE a.user_id = u.id) AND 3 NOT IN (SELECT a.group_id FROM #__user_usergroup_map a WHERE a.user_id = u.id) (...)<code class="sql"></code>

0

Z pewnością można to napisać tak:

WHERE NOT EXISTS (SELECT 1 FROM #__user_usergroup_map a WHERE a.user_id = u.id AND a.group_id IN (1, 2, 3))

Gdybyś dał całe zapytanie to być może dałoby się to zrobić za pomocą złączenia zamiast podzapytania. Jednak ten where not exists powinien chodzić szybciej niż teraz.

0

Właśnie o to mi chodziło, dzięki wielkie!:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0