information_schema.tables 表查询慢

使用navicate打开tidb的information_schema.tables表,耗时10秒,查询这张表的记录明显比较慢,这张表有6000条记录,请问为什么这么慢,该怎么解决

  1. 请问,在命令行执行是否也是这么慢?
  2. 能否尝试执行统计信息收集,多谢。

对该表执行查询语句时,时快时慢。有时要10几秒,有时只要0.3秒,查询其他表都很快。

tidb版本是2.1.6,怎么执行统计信息收集

  1. 参考文档

https://pingcap.com/docs-cn/v2.1/statistics/#统计信息简介

  1. 如果收集后,还是有问题,反馈 执行慢时的执行计划

https://pingcap.com/docs-cn/v2.1/query-execution-plan/#理解-tidb-执行计划

  1. 反馈 tidb.log 日志

日记信息见附件log.txt (3.0 KB)

tidb_auto_analyze_ratio这个值我设置为0.01是否影响tables表的查询性能

能否帮忙执行下 explain analyze sql 为 10s的执行计划,多谢

explain.txt (350 字节)

我是读取所需要的column,没有select *,查询tables这个表,时快时慢,很奇怪,有时要将近10秒

你好,直接读取整个 table 时,为了获取 dataLength 和 indexLength,需要通过表的统计信息获取表中每一列的预估长度,这里会花费很长时间。 因为 INFORMATION_SCHEMA.TABLES 是 虚拟内存表没法把 projection 推下去目前。 所以耗时会时快时慢。 这个问题暂时没法优化。请问有具体的场景,需要频繁的查询此表吗?

对这张表做简单的条件查询,有30%的概率,一次查询要10秒,这太慢了,那张表里有6000多条记录,有提速的方式吗?我们的场景是通过查这张表来判断是否存在某张表,不存在就新建

请问,很频繁吗? 你们会不断的查这个表来创建新表? 可以尝试升级到3.0或者4.0版本,会有些优化,可以看看是否有改善。