caseとdecodeはどちらが速いでしょうか?
最近のOracleは「case」が使えます。
昔は使えなかったので使えるようになっていて驚きました。
バージョン9から使えるのかな?
ちなみに「inner join」なども使えるようになっていますね。
今回、2千万件のデータからselectするSQLを作成していたので
速度を縮める為にいろいろ試してみました。
というより2千万件もデータがあり無駄が多すぎる。
これを月単位に合計するのだが、それでも約20万件。
全部見るのに何日かかるのだろうか?
誰がそんな件数のデータを見るのかとつっこみたくなりました。
明らかに無駄がありすぎる、もう少し運用面を考えた方がいいと思うが
作ってくれというのだから作る。
本題に戻りまして、caseとdecodeはどちらが速いでしょうか?
SQLServerにはdecodeがないのでちょっと気になり実験してみました。
どちらも、条件に当てはまる時はA、当てはまらない時はBを
抽出するという命令で結果は同じになります。
��00万件位のデータが抽出されるようにして実験しました。
結果は・・・・ ほとんど変わらず・・・
自分の環境では何回実行しても結果は僅差なので結論は、
好みで使用して下さいということになりました。
自分は慣れているcaseを使用することにしました。