__all_virtual_table_mgr虚拟表中的size是否包括索引的大小

【 使用环境 】 测试环境
【 OB or 其他组件 】OB
【 使用版本 】V4.3.1_CE_BETA
【问题描述】

select * from __all_virtual_table_mgr where tablet_id = 200072;查到的size大小是否包括索引的大小?

【复现路径】
【附件及日志】

是不是索引,要看对应的 tablet_id=200072 对应的 table_type是什么

select * from __all_virtual_table where tablet_id=200072;

enum ObTableType
{
  SYSTEM_TABLE   = 0,
  SYSTEM_VIEW    = 1,
  VIRTUAL_TABLE  = 2,
  USER_TABLE     = 3,
  USER_VIEW      = 4,
  USER_INDEX     = 5,      // urgly, compatible with uniform process in ddl_service
                           // will add index for sys table???
  TMP_TABLE      = 6,      // Temporary table in mysql compatibility mode
  MATERIALIZED_VIEW  = 7,  // Must be put behind, otherwise compatibility will fail
  TMP_TABLE_ORA_SESS = 8,  // Temporary table in oracle compatibility mode, session level
  TMP_TABLE_ORA_TRX  = 9,  // Temporary tables in oracle compatibility mode, transaction level
  TMP_TABLE_ALL      = 10, // All types of temporary tables, only used for alter system statements
  AUX_VERTIAL_PARTITION_TABLE = 11,
  AUX_LOB_PIECE  = 12,
  AUX_LOB_META   = 13,
  EXTERNAL_TABLE = 14,
  MATERIALIZED_VIEW_LOG = 15,
  MAX_TABLE_TYPE
};

table_type 是10。tablet_id是我通过oceanbase.__all_virtual_table查询到的:

select table_id,table_name,tablet_id from oceanbase.__all_virtual_table where table_name = ‘xxx’;

你的意思是索引应该是5吗?

USER_INDEX = 5

那索引的tablet_id该如何获取呢?

你的需求如果是查询索引大小的话可以看这个文档中的SQL: OceanBase 社区

ob 4.x之后建议直接对应的视图来查各种信息,不直接用__all_virtual_这种内部表查

1 个赞

好的,谢谢您