基本的select查询,数据都会混乱,索引与KV数据不一致,请问如何修复呢?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】5.2.4
【遇到的问题】select查询,根据生日姓名等查询 ,无该数据,追加主键后反而能查询出结果,如图
【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】

admin check 下这个表试试

这个会影响生产环境吧?

看下官网 应该不会,只是对比索引和数据是否一致,没有 table lock
不行业务低峰期跑

不一致,请问8003错误码 有什么修复方式么? 删索引 重建太耗时了 这个表百亿数据

重建索引好了 你先命名成其他名字 等执行完rename

第一步你先设置这个索引为不可见索引, CREATE INDEX | PingCAP Docs,让你的生产环境sql别再使用了,比较数据不一致,第二步重新建立索引,tidb中是online ddl,不会锁表影响你对表的使用,第三步,删除你有问题的索引

1 个赞

:+1::+1::+1: 多谢

:+1: :+1: 上次不一致采用的这个方案 ,加索引比较慢, 应该是有小部分数据没有对上, 是否可以针对小部分数据修复索引呢?

应该没有这样的方式,重建索引对后期的数据走索引查询性能也有一定帮助,可以减少之前 skip key 性能。

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