こんにちは!アイスタイルのDBA、suzukitoです。 DBの構築、運用、レビューなど担当しています。DBに関係する質問に日々回答中です。 先日こんな質問がありました。 IS NULLってインデックス使いますか? 答えはYES。 実装依存かも知れませんが、MySQL、SQL Server、PostgreSQLは使います。 試してみました 実際に実行計画を見てみましょう。 インデックス作成前はテーブルスキャンでしたが、作成するとINDEX SCANに変わります。 検証内容 NULL許可された列を検索するクエリで、インデックスを作成する前後の実行計画を比較する。 レコード総数約22万件 検索対象列ほとんどの値はNULLが入っており、NULLではないレコード数は約6千件。 テーブル定義 CREATE TABLE `products` ( `id` int(11) NOT NULL AUTO_I