投稿日 | : 2006/02/08(Wed) 15:02 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: ORACLEで高速抽出 |
# この手の質問は、VB 系の掲示板ではなく、Oracle 系の掲示板に投げた方が良いかと。
> substr(SCODE,1,2) = '001'
これ、絶対に成り立たないような……?
> TO_CHAR(UPDATE,'yyyy/mm') = '2006/02'
この問い合わせだと、テーブル上の全件(のUPDATE列)に対して
変換関数を実行しなければならないので、効率が悪くなります。
> UPDATE >= '2006/02/01' AND UPDATE <= '2006/02/28'
これなら、(UPDATE列にインデックスが張られていれば)効率が良いでしょうが、
2006年2月のデータを探すのであれば、時刻部の有無に関わらず、
UPDATE >= TO_DATE('20060201', 'YYYYMMDD') AND
UPDATE < TO_DATE('20060301', 'YYYYMMDD')
などとした方が安全かも。