OMS获取表结构超时

生产环境,OMS 3.3.1_CE,
Oceanbase Version:3.1.4-OceanBase CE
【问题描述】OMS做ob—>ob迁移时,源头获取表结构失败,

  1. statistics表30W行记录,按table_schema查询需要3分钟,但是在oms中dbcat获取结构时超时了
    SELECT TABLE_NAME FROM information_schema.statistics WHERE TABLE_SCHEMA = ‘testdb’ GROUP BY TABLE_NAME, INDEX_NAME HAVING count(*) = count(IF(upper(nullable) != ‘YES’ and NON_UNIQUE = 0, 1, NULL))

问题:
1、oms中获取源头ddl表结构超时时间,能否设置?
ps.尝试了({“ddl.timeout.in.private.cloud”:604700000,“ddl.timeout.in.public.cloud”:604700000})这个参数未起作用

2、statistics视图数据量30W左右,按db查询起来需3分钟,后续取索引等都非常慢,能否优化?
SELECT TABLE_NAME FROM information_schema.statistics WHERE TABLE_SCHEMA = ‘testdb’

3、statistics 视图指向的__tenant_virtual_table_index虚表有table_id索引,能否新增table_name索引?不然30W行记录,就要查3分钟,非常慢

1 个赞

1.超时时间目前不可以设置,如果源端表很多,上万张表的情况下,目前确实有问题
2.最新4.x对于系统视图应该是有优化的

2 个赞

谢谢,明白.

再请教下,这个系统statistics视图为什么30万记录,即使全表扫描要3分钟这么慢呢?按经验普通用户表30w记录select几秒就出结果了

SELECT TABLE_NAME FROM information_schema.statistics WHERE TABLE_SCHEMA = ‘testdb’

这个是bug么