3つのテーブル、ユーザーのテーブル、約500の異なるアイテムのテーブル、および対応する結合テーブルがあるとします。私がしたいのは:
select * from users u join items_users iu on iu.user_id = u.id
where iu.item_id in (1,2,3,4,5)
and u.city_id = 1 limit 10;
ただし、条件の代わりに、対応するすべてIN
のアイテムを持っているユーザーを検索したいと思います。それが役立つ場合は、一度に検索されるアイテムの最大数が5になると想定します。また、私はPostgresを使用していますが、読み取り専用システムであり、速度が最も高いため、役立つ場合は非正規化してもかまいません。優先度。