如何通过命令快捷的得到当前的索引是 local 还是 global 类型

目前获取ob中索引是local还是global,只能通过 show create table 命令来查看,有没有单独的命令可以查看索引的全部信息。即使是 SHOW INDEX FROM 命令也无法查看当前索引的是否是全局索引。

你的问题我们已经收到 会联系相关同学后回复你

如果知道索引名字
select * from CDB_OB_TABLE_LOCATIONS where index_name=‘xxx’;
得到索引table_id
select index_type from __all_virtual_table where table_id = xxx;
index_type
1, 局部普通索引
2, 局部唯一索引
3, 全局普通索引
4, 全局唯一索引

否则先通过主表名找主表table_id
然后查找到索引表table_id
select * from CDB_OB_TABLE_LOCATIONS where table_type=‘index’ and data_table_id = 主表id;

标准视图不能直接拿到,只能虚拟表或者内部查 __all_virtual_table 拿。

如何查看系统中都有哪些虚拟表?通过show tables 无法看到的。类似__all_virtual这类?

sys 的 __all_virtual_table 或者 __all_table 里查查看,不过内部表或虚拟表少用为好。