system.view_tables 系统表包含了当前数据库中所有物化视图的详细信息,包括物化视图的定义、关联的基础表、刷新配置、状态信息等,帮助您监控和管理物化视图的配置与运行状态。
当前仅支持引擎版本为 v2.7 及以上版本查询物化视图系统表。查询前,您可登录 ByteHouse 企业版控制台,单击集群管理,单击需查询的目标集群,在基本信息中查看引擎版本。
字段名称 | 数据类型 | 字段含义说明 |
|---|---|---|
database | String | 物化视图所属的数据库名称。 |
table | String | 物化视图的名称。 |
uuid | UUID | 物化视图的全局唯一标识符,由系统自动生成。 |
definition | String | 物化视图的创建语句。 |
base_tables | Array(String) | 视图依赖的基表。 |
dependent_table | Array(String) | 物化视图的分区依赖于基表的分区定义:如果基表的分区能够通过函数转化为物化视图目标表的分区,则该物化视图会判定为依赖此基表。 |
non_dependent_tables | Array(String) | 基础表的分区只能对齐多个基础表中的一个,其余的表是非依赖基础表。 |
target_table | String | 物化视图数据存储的目标表名称。 |
partition_diffs | Array(String) | 当前视图展示了本次刷新与上一次刷新的分区分布差异列表: |
latest_visible_partitions | Array(String) | 当前基表的分区版本列表信息。 |
previous_partitions | Array(String) | 已刷新的分区版本列表。 |
refresh_type | String | 物化视图的数据刷新类型。 |
refresh_start_time | String | 物化视图开始刷新的时间。 |
refresh_interval | String | 物化视图的刷新间隔。 |
active | UInt8 | 标识物化视图当前是否处于有效状态。当基表被修改且影响到物化视图时,该视图会被标记为无效状态。处于无效状态的视图无法进行改写和刷新操作,且其状态不可直接修改,如需恢复正常使用,需删除后重新创建。 |
enable_refresh | UInt8 | 是否启用自动刷新功能的标识。 |
enable_query_rewrite | UInt8 | 是否启用查询重写功能的标识。 |
base_table_validity | UInt8 | 基础表结构是否有效。如果基础表的相关列发生了 RENAME COLUMN、MODIFY COLUMN、DROP COLUMN 等操作,或者基础表发生了 ALTER TABLE、DROP TABLE 等操作,
如果基础表无需修复(或放弃修复),可直接删除对应的物化视图,以清理无效对象。 |
refresh_work_period | String | 物化视图允许执行刷新操作的时间窗口配置。 |
coordinator_address | String | 负责调度物化视图刷新任务的协调器(coordinator)地址信息 |
refresh_status | String | 表示当前刷新任务的运行状态及运行中的任务数量,包含状态标识(running)和任务数(running_tasks)。 |
SELECT * FROM system.view_tables
Query id: da2xxxxx-xxxx-xxxx-xxxx-b6xxxxxxxxxxx Row 1: ────── database: demo table: demo_materialized_view_1 uuid: 9cffxxxx-xxxx-xxxx-xxxx-b0xxxxxxxxxx definition: CREATE MATERIALIZED VIEW demo.demo_materialized_view_1 UUID '9cffxxxx-xxxx-xxxx-xxxx-b0xxxxxxxxxx' TO INNER UUID '996xxxxx-xxxx-xxxx-xxxx-15xxxxxxxxxx' (`id` Int64, `age` Int64, `name` String, `money` Float64, `brith` Date, `map_field` Map(String, String), `array_field` Array(String), `customer_string` String, `kong` String, `receiv_time_house` DateTime, `value` String) ENGINE = MergeTree ORDER BY id SETTINGS index_granularity = 8192 AS SELECT * FROM default.import_data LIMIT 5 base_tables: ['default.import_data'] dependent_table: [] non_dependent_tables: [] target_table: demo..inner_id.9cffxxxx-xxxx-xxxx-xxxx-b0xxxxxxxxxx partition_diffs: [] latest_visible_partitions: [] previous_partitions: [] refresh_type: SYNC refresh_start_time: none refresh_interval: none active: 1 enable_refresh: 1 enable_query_rewrite: 1 base_table_validity: true refresh_work_period: coordinator_address: none refresh_status: none