ビューを作成しようとしましたが、 'somenumber'列が他のテーブルに存在するかどうかを示す列を作成する必要がありました。以下のコードは動作しましたが非常にゆっくりです。テーブルを(veryYugeTableからsomeNumberを選択して)宣言し、単一のレコードごとにこのクエリを送信するか、ビューをスピードアップするために他の方法を使用するのではなく、そのテーブルをチェックすることは可能ですか?Oracle 11g、 'in'クエリを高速化する方法
case
when someOtherTable.someNumber in(select someNumber from veryYugeTable) then 'exists'
else 'doesn't exist'
end as "someColumn"
左のjoinを使用してくださいveryNugeTable on someNumber = someOtherTable.someNumber次に、casewhen節をveryYugeTableに変更します。列がnullの場合は '存在しません' else '終了' –
ビューの問合せとそのExplain計画を投稿してください。問題を見ることなく、解決策を提供することは容易ではありません。 [ここ](http://stackoverflow.com/questions/34975406/how-to-describe-performance-issue-in-relational-database?answertab=active#tab-top)のヒントを参照してください。 –