__all_virtual_table中的data_table_id与table_id 的区别是什么?

【 使用环境 】/
【 OB or 其他组件 】/
【 使用版本 】3.x
【问题描述】__all_virtual_table中的data_table_id与table_id 的区别是什么?
【复现路径】/
【附件及日志】/
【备注】/

__all_virtual_table中的table_id是指 索引实体表的名字或者用户表的名字,具体依据table_type的取值

data_table_id 为该索引表对应的用户数据表的 table_id,因此可以利用该字段查询索引表的信息,data_table_id 的值就是主表 ID 的值。

参考下 https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000479139?back=kb

2 个赞

简单来说,table_id是每个对象都会有的,比如分区表,每个分区的table_id都不一样,lob类型字段、索引等都有唯一的table_id,但是他们的主表是同一个,data_table_id就是主表的table_id。

你找个表查出来看看就清楚了。

 select table_name,table_id,data_table_id from __all_virtual_table where table_name='xxx' or data_table_id=xxx;