Mysql,包括tidb,索引列如果不是is not null可能索引失效!
如何要对该字段索引,建表时先设置为is not null,实在是业务没有值默认一个无相干的值也行。
其次,如果需要索引的字段为null,也可能通过与一个is not null的字段组合索引,也能达到索引不失效的目的(需设置第一次索引字段),这个我本人没有验证。
另外,网上也提到,通过实验(本人未验证):
1、mysql中对索引的优化,如果查询条件为is null命中结果小于40%,会走索引;
1、mysql中对索引的优化,如果查询条件为is not null命中结果小于30%,会走索引;
网友评论