【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】 如 图中 v 表中 字段 vaccination_unit_id 和字段creation_time 分别是两个索引,执行计划中只走了 index:idx_vaccr_vaccination_unit_id(vaccination_unit_id) 一个索引,将语句修改后 又只走了 table:v, index:idx_vaccr_creation_time(creation_time)这个索引
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】
Kongdom
(Kongdom)
2
是的,只能使用一个索引。就和按照目录找章节一样,一次使用一个目录
1 个赞
你建个字段 vaccination_unit_id 和字段creation_time 的联合索引不就行了。。。。
1 个赞
啦啦啦啦啦
4
执行sql语句,一个表不一定只能命中一个索引,比如or的可能同时用到2个索引,不过你这个sql只能走一个,单个字段索引过滤的数据都不多的话还是建议用联合索引
1 个赞
and建议使用组合索引,or的话可以看下这个参数tidb_enable_index_merge
1 个赞
and 肯定是走一个吧,如果是or不知道能不能走2个,然后合并(某些特殊场景)
Kongdom
(Kongdom)
8
1 个赞
测试了下,确实or和and都可以(开启merge的状态)
1 个赞