SHOW TABLE STATUS执行时间过长

@论坛小助手
【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.2.1
【问题描述】SHOW TABLE STATUS like执行时间过长


推荐使用 obdiag 工具进行日志采集和根因分析,以便确认问题所在。

日志采集场景: SQL性能问题
日志采集命令: obdiag gather scene run --scene=observer.perf_sql --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

为了更准确地定位问题,请您提供以下信息:

  1. 执行 SHOW TABLE STATUS 语句的具体表名是什么?
  2. 数据库中涉及的表的数量和大小大概是多少?
  3. 是否有其他同时运行的大查询或事务影响系统性能?
  4. 这个问题是一直存在还是偶尔发生?如果是偶尔发生,请问是否有特定的时间段或者触发条件?

请您根据上述命令采集日志,并将采集到的日志压缩包提供给我们。这将有助于我们进一步分析并确定导致响应时间过长的原因。

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

这个是在ocp查看的么?ocp的版本号 发一下

image

根据您提供的信息和图片,您的 OceanBase 数据库版本为 4.2.2-20240315150922。关于 SHOW TABLE STATUS 执行时间过长的问题,我们可以进一步分析并提供一些可能的解决方案。

分析与建议

  1. 检查表的数量和大小

    • 如果数据库中存在大量的表,SHOW TABLE STATUS 的执行时间可能会显著增加。请确认数据库中涉及的表的数量和大小。
    • 使用以下 SQL 查询来获取表的数量:
      SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'your_database_name';
      
  2. 优化系统配置

    • 确认系统的资源使用情况(CPU、内存、磁盘 I/O)。如果系统资源紧张,可能会导致查询变慢。
    • 检查是否有其他大查询或事务在同时运行,这些操作可能会占用大量资源,影响 SHOW TABLE STATUS 的执行速度。
  3. 使用更高效的替代方案

    • 对于特定表的状态查询,可以考虑使用更高效的替代命令。例如,如果您只需要查看某个特定表的状态,可以直接使用 SHOW CREATE TABLE 或者查询 information_schema.tablesinformation_schema.statistics 表来获取相关信息。
    • 示例:
      SHOW CREATE TABLE your_table_name;
      SELECT * FROM information_schema.tables WHERE table_schema = 'your_database_name' AND table_name = 'your_table_name';
      SELECT * FROM information_schema.statistics WHERE table_schema = 'your_database_name' AND table_name = 'your_table_name';
      
  4. 日志采集与根因分析

    • 推荐使用 obdiag 工具进行日志采集和根因分析,以便确认问题所在。这可以帮助我们更准确地定位问题。
    • 日志采集命令:
      obdiag gather scene run --scene=observer.perf_sql --env "{db_connect='-h127.0.0.1 -P2881 -utest@test -p****** -Dtest', trace_id='Yxx'}"
      
    • 请您根据上述命令采集日志,并将采集到的日志压缩包提供给我们。这将有助于我们进一步分析并确定导致响应时间过长的原因。

进一步的信息需求

为了更好地帮助您解决问题,请提供以下信息:

  • 执行 SHOW TABLE STATUS 语句的具体表名是什么?
  • 数据库中涉及的表的数量和大小大概是多少?
  • 是否有其他同时运行的大查询或事务影响系统性能?
  • 这个问题是一直存在还是偶尔发生?如果是偶尔发生,请问是否有特定的时间段或者触发条件?

通过以上步骤,我们可以更全面地了解问题的根源,并为您提供更有效的解决方案。如果您有任何疑问或需要进一步的帮助,请随时联系 OceanBase 的技术支持团队。

检索到的文档如下:

  1. 基于 OceanBase 构建图搜图应用
  2. OceanBase 数据库概述
  3. information_schema.CHARACTER_SETS
  4. 使用 LOAD DATA 语句导入数据
  5. 快速入门系列教程
  6. 遇到问题如何向技术支持同学提问
  7. OceanBase Binlog 服务
  8. DBA_INDEX_USAGE

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

麻烦直接到业务集群下对应租户对应库 执行下这个报出来的slow SQL呢? SHOW TABLE STATUS like ……

看下耗时

15s左右,也是符合预期的,再找一个表少的schema试下,看看耗时