私はテーブルを持っています、フー。Fooでクエリを実行して、FooのサブセットからIDを取得します。次に、より複雑な一連のクエリを実行したいと思いますが、それらのIDに対してのみ実行します。これを行うための効率的な方法はありますか?私が考えることができる最善の方法は、次のようなクエリを作成することです。
SELECT ... --complicated stuff
WHERE ... --more stuff
AND id IN (1, 2, 3, 9, 413, 4324, ..., 939393)
つまり、巨大な「IN」句を作成します。これは効率的ですか?これを行うためのより効率的な方法はありますか、それともIDを取得する最初のクエリで参加する唯一の方法ですか?それが役立つ場合は、SQLObjectを使用してPostgreSQLデータベースに接続し、クエリを実行したカーソルにアクセスしてすべてのIDを取得します。
更新:より複雑なクエリはすべて、これらのIDに依存するか、他のクエリで検索するIDをさらに作成することに注意してください。1つの大きなクエリを実行すると、一度に6つのテーブルを結合することになり、速度が遅すぎる可能性があります。