【 TiDB 使用环境】生产环境
【 TiDB 版本】 v6.5.9
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
我用select count(*) from database.table 返回结果为0,
但是select * from database.table 却是有数据的, 这是为什么?
执行计划发一下看看呢,是不是都走的tikv?
也是这种导入场景么?
表和索引不一致?表有数据,索引没数据,count(*)走索引了。
admin check一下表和索引
执行计划也发下
这个是如何操作?
出现这个关键字,需要先将表重新anlyze一下,analyze table xxx。然后再执行select count试试
感觉你的情况和这个比较像。看里面的解决方案是 重新导入。
怎么复现这个问题?
一个走了索引扫描,一个走了全表扫描。索引和表数据对不上了
哦,还是数据不一致。check一下呢?
https://docs.pingcap.com/zh/tidb/v6.5/sql-statement-admin-check-table-index#admin-check-tableindex
对,这个是有问题,重建一下索引吧。
https://docs.pingcap.com/zh/tidb/v6.5/troubleshoot-data-inconsistency-errors#error-8223
可以参考这个解决试试。 删除索引重新创建。
真的的可以, 感谢大佬!
1 个赞
第一次看到这个问题,又学到一招。
学习了。。。。。