正常情况下,NULL值是不会放入B-TREE索引的,因此根据IS NULL查询的时候走的通常是全表扫描,如果记录比较少还好,记录比较多,查询会非常耗时
可以通过创建一个索引来解决
CREATE INDEX TABLE_OWNER.IX_TABLE_NAME_COL ON TABLE_OWNER.TABLE_NAME(COL,0) TABLESPACE TBS;
COL是含有NULL值的列
通过加HINT强制走索引
SELECT /*+INDEX(A IX_TABLE_NAME_COL)*/* FROM TABLE_OWNER.TABLE_NAME A WHERE COL IS NULL;