私は次の選択ステートメントを持っています:
( SELECT CAL_DATE,BUS_DAY FROM risk_mart.vw_calendar_t5 WHERE type = 'RPC' AND BUS_DAY BETWEEN 0 AND 1 ) CAL WHERE t.cal_date = cal.cal_date
すべての日付を選択し、それらをbetween
0 と 1 でフィルタリングします (「22-OCT-12」、「19-OCT-12」などの 2 つの日付のみを表示します)。
今、私はそれを手動で次のように書き直すことができます
WHERE t.cal_date in ('22-OCT-12','19-OCT-12')
違いはパフォーマンスです。最初の例では 90 秒以内に返され、2 番目の例では 10 秒以内に返されます。どうして?。
最初のステートメントを改善/書き直すにはどうすればよいですか?