Oracle歴が長いプログラマが、SQL Serverでの開発を行った時にハマったのが、Nullと空文字("")の扱いの違いだった。OracleはNullと空文字が統一に使われているが、SQL ServerではNullと空文字では違う動作する。

このサイトでは、sql を高速化するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのsql 第2版』の受け売りがほとんどなので、この本を読んでいただければ、本稿を読む必要はありません。 nullが入っている時は絞り込まないで出してほしいとき. 内部表へのループアクセスが高速化されるため、駆動表が小さいと高速となる。 ... 2014年現在では、OracleとDB2のみ可能. 下記のコード(パターン4以外)は、col_name の値が null であれば 0 、null 以外であれば 1 を返却している。 Oracle 11gにて検証 ソースコードから寄せ集めたSQLが同じnull判定をいろんなパターンで行っていて、面白かったのでメモ. 検索フォームとかで「日付」を指定しなければ すべての日付で検索してほしい、みたいな時ですね。 orを使います。 nullのときは無条件で出力、or nullじゃなければ絞り込んで出力する、という意味です。 Oracle(私はリリース10を使用していたと思います)とSql Server(私は2008 R2を使用しました)実行計画からテーブルBをプルーニングします。 SELECT A. コンパイラが実行できる最適化の1つとして、 サブプログラムのインライン化 があります。 サブプログラムのインライン化によって、サブプログラムの起動は、起動先サブプログラムのコピーに置き換えられます(起動先と起動元のサブプログラムが同じプログラム・ユニット内に存在する場合)。 スカラサブクエリ.