请核实下 BCD 3 个 tidb-server 实例的日志是否有报错信息,并检查 BCD 实例和其他的 PD/TiKV 节点之间的网络连通性
可以看下日志中是否有报错,同时也检查下配置文件中各参数和实际的值是否相同
1.“redirect but server is not leader” 一般发生在发送给 PD leader 的请求,接收后发现已经 step down 为 follower,出现这个问题的原因可能有发送请求时,有切换 leader 的动作,但日志中暂时没有发现 transfer leader 相关日志,但是有大量的 warning 报磁盘慢或者卡住导致 leader lease 过期,考虑到这边使用的磁盘类型为机械盘,建议调整为 SSD 磁盘;
2.helm install tidb-cluster 这种 Helm chart 管理 TiDB 集群的方式过于老旧,新版中已不建议这种部…
系统表 stats_histograms 中当字段 is_index 值为 0 时,字段 hist_id 即为 column_id,当字段 is_index 值为 1 时,字段 hist_id 即为 index_id ,但比较尴尬的是貌似没法直接查询 colunmd_id 和 column_name 的对应关系,在系统表 information_schema.columns 中没有这种对应
show stats_buckets/stats_histograms 只会显示加载到内存中的统计信息。对于列的统计信息,当有查询涉及到该列时,tidb 才会将该列的统计信息加载到内存中,这时候才能看到,索引的统计信息是常驻内存的,show stats_* 总是能看到索引的统计信息;
所以你可以先执行下如下的 SQL:
SELECT id, order_serial_no FROM train_order_info FORCE INDEX (`i_CreateTime`) WHERE order_state = 1 AND CreateTime > DATE_SUB(now(), INTE…
先全表收集下统计信息,如果还有问题需要再进一步分析。
从统计信息直方图信息中看,字段 order_state = 1 并没有落在桶的范围内,感觉是这里的问题导致优化器认为走索 i_order_state 成本更低:
[image]上面提示的是 no such file or directory,你先参考上面方法调整下,不理解你这里说的离线问题是什么
tiflash 是三节点,具体配置信息官方文档链接里,tidb、tikv 配置需要再确认下。
是的,需要将所有的 sst 文件放到每个 tikv 节点上对应的目录,如果是通过 NFS 或 s3 这种方式备份的话就不需要这一步骤了。
麻烦确认数据库 crontest 下有无具体的数据;
2.通过本地磁盘备份的方式,在恢复时需要将所有的 sst 汇总在每一个 tikv 节点上:
[image]方便告知下具体是如何改写 SQL 的吗?这样其他小伙伴遇到同类问题也可以借鉴下,谢谢。
重新收集后 explain analyze 还是选错索引吗?如果是的话麻烦把最新的统计信息也导出一份吧 ,多谢
附件中的执行计划在没有使用 force index 时走的是 i_env 索引,并不是上面的 i_order_state 索引,强制后会走到i_createTime索引,结合表的健康度得分并不高来看,推测是i_createTime` 统计信息不准确导致优化器选错了索引,建议重新收集下该索引的统计信息,再看下效果。
这个不一定有关系,麻烦反馈下 ticdc 的版本、ticdc 完整的报错日志,以及 kafka changefeed 任务创建的命令