私たちのマルチテナントアプリwhere account_id = ...
では、(ほぼ)行われたすべてのクエリに追加されます。ほとんどすべてのテーブルにaccount_id列があります。
このような設定では、外部キーのインデックスをテーブルに追加するときに、常にaccount_idをインデックスに含める必要がありますか?
したがって、たとえば:
add_index 'projects', ["customer_id"]
OR
add_index 'projects', ["customer_id","account_id"]
アプリケーションのセットアップ方法では、account_idの条件がないと、プロジェクトテーブルに対してクエリが実行されないため、2番目のオプションが正しいと思います。しかし、私はデータベースの専門家ではありません。
私たちの場合の最良のアプローチは何ですか?