1

我可以show tables in <database name>用来显示数据库中的所有表。返回的结果显示表是否启用了集群 - 显示cluster_by列。有没有办法取回在 cluster_by 中具有值的所有表的列表?

show-tables的文档仅显示:

SHOW [ TERSE ] TABLES [ HISTORY ] [ LIKE '<pattern>' ]
                                  [ IN { ACCOUNT | DATABASE [ <db_name> ] | SCHEMA [ <schema_name> ] } ]
                                  [ STARTS WITH '<name_string>' ]
                                  [ LIMIT <rows> [ FROM '<name_string>' ] ]
4

1 回答 1

2

您可以随时询问INFORMATION_SCHEMA

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, CLUSTERING_KEY 
  FROM INFORMATION_SCHEMA.TABLES
 WHERE CLUSTERING_KEY IS NOT NULL;

或使用RESULT_SCAN

SHOW TABLES IN DATABASE TEST;

SELECT * 
FROM TABLE(result_scan(last_query_id())) 
WHERE "cluster_by" <> '';

参考:INFORMATION SCHEMA TABLES VIEWRESULT_SCAN

于 2021-11-28T16:09:56.577 回答