如何清理异常的_tidb_rowid的值

TIDB集群3.0.19目前存在问题:
select _tidb_rowid from aa 查询出来,有的_tidb_rowid有对应的记录值,有的没有对应的值,应该如何处理
截图如下:
查询出来的rowid数据


2、查询部分ROWID值没数据

3、查询部分rowidi有数据

问题:
怎么清理这个异常的rowid记录

直接删除delete 不可以吗

不可以


不知道这个能看明白吗,是不是和这个问题的描述一样
select _tidb_rowid from aa 查询出来,有的_tidb_rowid有对应的记录值,有的没有对应的值

尝试将表的 index drop 掉然后重新创建 index 吧。

大表修改索引 需要几天几夜,现在最好的办法就是 删除_tidb_rowid

不可以的 ,目前也没解决这个问题:sweat_smile:

tidb_opt_write_row_id 默认为0,不允许操作。
这个变量用来设置是否允许 INSERT、REPLACE 和 UPDATE 操作 _tidb_rowid 列,默认是不允许操作。该选项仅用于 TiDB 工具导数据时使用。
神马意思“该选项仅用于 TiDB 工具导数据时使用”任何一个工具?

这个目前有什么影响? 看起来是进行过特殊处理吗?

补数据 提示tidb_rowid冲突的,因此需要有什么方法 能够删除tidb_rowid的方法

目前应该只有这一个办法, 删除 tidb_rowid 太危险了。请问这张表多大 ?

请问是怎么出现这个现象的?有做什么特殊操作吗?

补数据 提示tidb_rowid冲突的,因此需要有什么方法 能够删除tidb_rowid的方法

这个是指导数据的时候出现 tidb_rowid 冲突导致的多出来索引吗?

背景是之前因为 tikv 的主机故障超过 2 个,导致数据损坏。通过 recover table 和 index 进行了数据修复。

220Y,能够确认找到tidb_rowid,进行删除 还会存在哪些风险?

当前的风险不好评估,如果 220 亿数据的这么大数据量做 recovery table,的确不太好修复。

请问有后续么,有照成什么影响么。

就是这种handle冲突,只能改主键生成规则…我这就想着研究怎么删除这个tidb_rowid的,目前还没得到准确的操作流程

主要对我这造成的影响:不改VARCHAT类型的主键,无法补数据

我们进步看一下,感谢反馈 :ok_hand: