Ответы, данные ранее, верны, но я хотел бы отметить, что ваш запрос выиграет от выполнения PRIMARY KEY
на (pid, gid)
(в этом порядке).
Этот запрос:
SELECT g.gid
FROM people_groups pg
JOIN groups g
ON g.gid = pg.gid
WHERE pd.pid = 1
сможет затем сделать people_groups
лидирующим в JOIN
, что, скорее всего, сделает его намного быстрее, поскольку pid
кажется очень избирательным в таблице ссылок.
В качестве альтернативы вы можете создать вторичный индекс:
CREATE UNIQUE INDEX ux_peoplegroup_p_g ON people_group (pid, gid)
или просто
CREATE INDEX ix_peoplegroup_p ON people_group (pid)
, если people_groups
равно InnoDB
.