在SQL语句中经常会声明IS NULL谓语。空值不存储在某个单独列的索引中,因此谓语IS NULL将不会使用单列索引。空值索引是存储在多列索引中的,一般通过使用另一个虚拟列来创建多列索引,就可以在IS NULL子句中启用索引。 select * from t1 where n1 is null; //未启用 create index t1_n10 on t1(n1,0); //使用虚拟列创建多列索引 select * from t1 where n1 is null; //启用索引
在SQL语句中经常会声明IS NULL谓语。空值不存储在某个单独列的索引中,因此谓语IS NULL将不会使用单列索引。空值索引是存储在多列索引中的,一般通过使用另一个虚拟列来创建多列索引,就可以在IS NULL子句中启用索引。select * from t1 where n1 is null; //未启用create index t1_n10 on t1(n1,0); //使用虚拟