查询发现联合索引没走

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
对一张百万的数据建立联合索引,都是char(),但是就是简单的查询发现没有走这个索引,走的全表扫描,健康度检查了,admin check 也做了,但是不确定具体原因,查询要4s,同样更多的数据sql server上只要2s多
City char(36) COLLATE utf8mb4_general_ci DEFAULT NULL,
Version char(36) COLLATE utf8mb4_general_ci DEFAULT NULL,

KEY idx_city_version (City,Version)

sql发一下啊。。。

就是很简单的sql select * from tablename where city=‘’ and version='

SHOW STATS_HEALTHY 看看表的状态

健康的,刚才写帖子的时候100%,现在93

大概知道原因了,原来的查询条件返回的记录非常多,大概要几万行,应该系统认为数据非常多,所以虽然有索引,但是走的全表扫描,我把这个条件的记录删到只有7000多,explain就走索引了。

手动执行一下analyze table,或者等等自动执行

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