NULLデータとINDEX
現場ではまったのでメモ。
RDBで、SQLのWHERE区に「IS NULL」をつけるとINDEXが効かないというのは普通だと思ってたのですが、最近はどうやら事情が違うみたいです。
■Oracle
△(限りなく×に近い)
[http://docs.oracle.com/cd/E16338_01/server.112/b56306/indexiot.htm#sthref293:title=マニュアルより引用
]
Oracle Databaseでは、すべてのキー列がNULLの表の行には、索引は作成されません。ただし、ビットマップ索引の場合や、クラスタ・キーの列値がNULLの場合は例外です。
ビットマップ索引は使い所が限定されるので、基本効かないと思って良いでしょう。
オフィシャルは見つけられませんでした。。
■DB2
◯
参考
マニュアル
ユニークキーに対するINDEXならNULLはOKだよ、という風にも読み取れる??
■MySQL
◯
参考
Oracleだけダメみたいですね。せめてオプションで使えるようにならないかなぁ。