Oracle之“is null”条件不走索引解决方案

186 阅读1分钟
  • 使用伪列建组合索引,如下:

    CREATE INDEX idx ON table_name(column_name, 0);
    
    SELECT * FROM table_name WHERE column_name IS NULL;
    
  • 创建函数索引:

    CREATE INDEX idx ON table_name(DECODE(column_name, NULL, 0, NULL));
    
    SELECT * FROM table_name WHERE column_name DECODE(column_name, NULL, 0, NULL) = 0;