索引中有空值影响执行计划吗?

索引中有空值影响 索引的使用吗?

mysql中不建议用NULL,索引不会包含有NULL值的列,索引列包含NULL值可能导致不走索引。但是TIDB中索引值可以为 NULL,个人觉得应该不影响索引的使用。

3 个赞

已验证,tidb中列有控制不影响索引的使用
只是很奇怪 V2.1中 没走索引。。。走了全表扫

这个需要看具体的表和sql了,有可能是因为表的健康度不高,导致执行计划选择了非最优的方式执行

主备库2个版本,数据实时同步
主库v2 不走索引,全表扫 备库3.0 走索引 ,健康度 和数据量一样
但是执行计划就是不一样 :relieved:

1 个赞

3.0开始对单列索引上值为 NULL 时行数估算准确度进行了优化,也许和这个有关

1 个赞

v2.1、v3.0都是比较早期的版本了,现在最新的版本是5.3.0,5.4.0也快要出了,建议在合适的时间升级到新的版本。

:+1:大佬说的对,很多老版本存在的问题都已经在新版本得到了解决和优化

2 个赞

[quote=“啦啦啦啦啦, post:8, topic:542877”]
:+1:大佬说的对,很多老版本存在的问题都已经在新版本得到了解决和优化
[/quote]:+1:大佬说的对,很多老版本存在的问题都已经在新版本得到了解决和优化

2 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。