У меня есть 2 таблицы, таблица Actions
и таблица Users
. Actions
-> Users
- это many-one
ассоциация.
Таблица Actions
(имеет тысячи строк)
- id
- uuid
- имя
- тип
- создал_бай
- org_id
Таблица Users
(имеет не более ста строк)
- id
- username
- org_id
- org_name
Я пытаюсь получить наилучший запрос на соединение, чтобы получить счет с WHERE
пункт. Мне нужно количество различных created_by
s из таблицы Actions
с org_name
в таблице Users
, которая содержит 'myorg'. Кроме того, (Actions.created_by
= Users.username
)
В настоящее время у меня есть следующие запросы (производящие ожидаемые результаты) и задаюсь вопросом, что лучше, и можно ли его оптимизировать дальше?
Запрос 1:
select count(distinct Actions.created_by)
from Actions join
Users
on Users.org_id = Actions.org_id
where Users.org_name like '%myorg%';
Запрос 2:
select count(distinct Users.username)
from Users join
Actions
on Actions.created_by = Users.username
where Users.org_name like '%myorg%';