system.parts_columns
包含有关 MergeTree 表的部分和列的信息。
每一行描述一个数据部分。
列:
-
partition(String) — 分区名称。要了解分区是什么,请参见 ALTER 查询的描述。格式:
YYYYMM用于按月自动分区。any_string用于手动分区。
-
name(String) — 数据部分的名称。 -
part_type(String) — 存储数据部分的格式。可能的值:
-
Wide— 每列在文件系统中的一个独立文件中存储。 -
Compact— 所有列在文件系统中的一个文件中存储。数据存储格式由 MergeTree 表的
min_bytes_for_wide_part和min_rows_for_wide_part设置控制。
-
-
active(UInt8) — 表示数据部分是否处于活动状态的标志。如果数据部分处于活动状态,则用于表中。否则,将被删除。在合并后,非活动数据部分仍然存在。 -
marks(UInt64) — 标记的数量。要获取数据部分中的大致行数,请将marks乘以索引粒度(通常是 8192)(此提示不适用于自适应粒度)。 -
rows(UInt64) — 行数。 -
bytes_on_disk(UInt64) — 所有数据部分文件的总大小(以字节为单位)。 -
data_compressed_bytes(UInt64) — 数据部分中压缩数据的总大小。所有辅助文件(例如,标记文件)不包括在内。 -
data_uncompressed_bytes(UInt64) — 数据部分中未压缩数据的总大小。所有辅助文件(例如,标记文件)不包括在内。 -
marks_bytes(UInt64) — 标记文件的大小。 -
modification_time(DateTime) — 数据部分目录修改的时间。这通常对应于数据部分创建的时间。 -
remove_time(DateTime) — 数据部分变为非活动状态的时间。 -
refcount(UInt32) — 数据部分使用的位置数量。大于 2 的值表示数据部分在查询或合并中使用。 -
min_date(Date) — 数据部分中日期键的最小值。 -
max_date(Date) — 数据部分中日期键的最大值。 -
partition_id(String) — 分区的 ID。 -
min_block_number(UInt64) — 合并后构成当前部分的数据部分的最小数量。 -
max_block_number(UInt64) — 合并后构成当前部分的数据部分的最大数量。 -
level(UInt32) — 合并树的深度。零表示当前部分是通过插入创建,而不是通过合并其他部分。 -
data_version(UInt64) — 用于确定应应用于数据部分的哪些变更(版本高于data_version的变更)。 -
primary_key_bytes_in_memory(UInt64) — 主键值占用的内存量(以字节为单位)。 -
primary_key_bytes_in_memory_allocated(UInt64) — 为主键值保留的内存量(以字节为单位)。 -
database(String) — 数据库名称。 -
table(String) — 表名称。 -
engine(String) — 不带参数的表引擎名称。 -
disk_name(String) — 存储数据部分的磁盘名称。 -
path(String) — 数据部分文件夹的绝对路径。 -
column(String) — 列名称。 -
type(String) — 列类型。 -
column_position(UInt64) — 从 1 开始的列在表中的顺序位置。 -
default_kind(String) — 默认值的表达式类型(DEFAULT,MATERIALIZED,ALIAS),如果未定义则为空字符串。 -
default_expression(String) — 默认值的表达式,如果未定义则为空字符串。 -
column_bytes_on_disk(UInt64) — 列的总大小(以字节为单位)。 -
column_data_compressed_bytes(UInt64) — 列中压缩数据的总大小(以字节为单位)。 -
column_data_uncompressed_bytes(UInt64) — 列中未压缩数据的总大小(以字节为单位)。 -
column_marks_bytes(UInt64) — 包含标记的列的大小(以字节为单位)。 -
bytes(UInt64) —bytes_on_disk的别名。 -
marks_size(UInt64) —marks_bytes的别名。
示例
另请参见