关于表的视图的疑惑?

【产品名称】

oceanbase-ce

【产品版本】

oceanbase-ce 3.1.2

【问题描述】

gv$table 与 __all_table_v2 ,哪个才是真正的表信息视图?

查询新创建的表 t_range_hash 的信息,发现有不同之处,如下,

MySQL [oceanbase]> select t.gmt_create,t.tenant_id,t.table_id,t.table_name,t.database_id from __all_table_v2 t where table_name=‘t_range_hash’; ±---------------------------±----------±---------±-------------±------------+ | gmt_create | tenant_id | table_id | table_name | database_id | ±---------------------------±----------±---------±-------------±------------+ | 2022-05-23 11:25:25.392979 | 0 | 50036 | t_range_hash | 1051 | ±---------------------------±----------±---------±-------------±------------+ 1 row in set (0.006 sec)

MySQL [oceanbase]> select t.tenant_id,t.tenant_name,t.table_id,t.table_name,t.database_id,t.database_name from gv$table t where t.table_name=‘t_range_hash’; ±----------±------------±-----------------±-------------±-----------------±--------------+ | tenant_id | tenant_name | table_id | table_name | database_id | database_name | ±----------±------------±-----------------±-------------±-----------------±--------------+ | 1002 | obmysql2 | 1101710651081588 | t_range_hash | 1101710651032603 | obtest | ±----------±------------±-----------------±-------------±-----------------±--------------+ 1 row in set (0.052 sec) MySQL [oceanbase]>

如上:同一个表,查询不同的视图,为什么不些字段的值不一样,有大神解释一下吗?

gv$table 中记录的值是全局唯一的,按照一定的规则进行了编码,具体的计算方法是 (tenant_id << 40) + table_id
1 个赞

对象元数据推荐查看_all_table_v2表