首批通过分布式安全可靠测评,为关键业务系统打造
如何导出所有索引的定义信息
更新时间:2026-05-22 08:56
本文介绍如何导出所有租户的索引信息。
适用版本
OceanBase 数据库 V2x、V3.x 版本。
操作方法
只需运行如下 SQL 即可。
obclient > SELECT rowkey_position,
t1.tenant_id,
t2.database_name,
t5.table_name,
case
WHEN (t1.table_type = 5) THEN
substr(t1.table_name,7 + instr(substr(t1.table_name, 7), '_'))
ELSE (t3.constraint_name)
END AS index_name,t4.column_name,case
WHEN t1.index_type IN (0,3,4) THEN
'GLOBAL'
ELSE 'LOCAL'
END AS index_type
FROM __all_virtual_table t1
INNER JOIN __all_virtual_database t2
ON t1.tenant_id=t2.tenant_id
AND t1.database_id=t2.database_id
INNER JOIN __all_virtual_column t4
ON t1.tenant_id=t4.tenant_id
AND t1.table_id=t4.table_id
INNER JOIN __all_virtual_table t5
ON t1.tenant_id=t5.tenant_id
AND
CASE
WHEN t1.table_type =3 THEN
t1.table_id
ELSE t1.data_table_id
END =t5.table_id
LEFT JOIN __all_virtual_constraint t3
ON t1.tenant_id=t3.tenant_id
AND t1.table_id=t3.table_id
WHERE t1.tenant_id=1001
AND t1.table_type IN (3,5)
AND t2.database_name !='__recyclebin'
AND t1.tenant_id=t2.tenant_id
AND NOT (t1.table_type = 3
AND t3.constraint_type !=1)
AND t4.rowkey_position !=0
AND (case
WHEN t1.table_type=5 THEN
t4.index_position
ELSE 1 end) !=0
ORDER BY t1.tenant_id,t1.database_id,t5.table_id,t1.table_id,t4.rowkey_position;
以下是 limit 10 的输出。
+-----------------+-----------+---------------+----------------------------+--------------------------------------------------+-------------+------------+
| rowkey_position | tenant_id | database_name | table_name | index_name | column_name | index_type |
+-----------------+-----------+---------------+----------------------------+--------------------------------------------------+-------------+------------+
| 1 | 1001 | SYS | TPX | TPX_OBPK_1685457843207687 | ID | GLOBAL |
| 2 | 1001 | SYS | TPX | TPX_OBPK_1685457843207687 | COL1 | GLOBAL |
| 1 | 1001 | SYS | TEST_T1 | TEST_T1_I1 | C2 | LOCAL |
| 2 | 1001 | SYS | TEST_T1 | TEST_T1_I1 | C3 | LOCAL |
| 3 | 1001 | SYS | TEST_T1 | TEST_T1_I1 | C4 | LOCAL |
| 1 | 1001 | SYS | TEST_T2 | TEST_T2_I1 | C6 | LOCAL |
| 1 | 1001 | SYS | TEST_T2 | TEST_T2_I2 | C1 | LOCAL |
| 2 | 1001 | SYS | TEST_T2 | TEST_T2_I2 | C6 | LOCAL |
| 1 | 1001 | SYS | TBL1 | TBL1_OBPK_1686306300521456 | COL1 | GLOBAL |
| 1 | 1001 | SYS | TEST_RANGE_PARTITION_TABLE | TEST_RANGE_PARTITION_TABLE_OBPK_1686465295219731 | C1 | GLOBAL |
+-----------------+-----------+---------------+----------------------------+--------------------------------------------------+-------------+------------+