基本上,我有 2 个表:用户和对象。一个用户可以通过三种方式(角色)关联到一个对象。我想按任何角色列出至少与一个业务对象相关联的所有用户。
此查询有效,但需要 5 秒!
SELECT u.id
FROM user u
LEFT JOIN translation_revision t1
ON u.id = t1.translator_id
LEFT JOIN translation_revision t2
ON u.id = t2.proofreader_id
LEFT JOIN translation_revision t3
ON u.id = t3.reviewer_id
wHERE t1.id IS NOT NULL
OR t2.id IS NOT NULL
OR t3.id IS NOT NULL
GROUP BY u.id
在这里完成创建和数据的摆弄:https ://www.db-fiddle.com/f/nojYaUsWicKJDuRQk1Nqd2/7
关于如何在这里提高性能的任何想法?