我有以下选择语句:
( 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')。
现在,我可以手动将其重写为
WHERE t.cal_date in ('22-OCT-12','19-OCT-12')
区别在于性能。第一个例子我在 90 秒内得到回报,第二个例子我在 10 秒内得到它。为什么?。
我如何改进第一个语句/重写它?