描述
分栏
partition(String) — 分区标识符 (由表分区键表达式推导出的字符串表示形式) 。name(String) — 数据部分的名称。通过数据部分的命名结构,可以判断数据、写入和合并模式等诸多信息。数据部分的命名格式如下:
-
定义:
partition_id- 标识分区键minimum_block_number- 标识该数据部分中的最小块编号。ClickHouse 始终合并连续的块maximum_block_number- 标识该数据部分中的最大块编号level- 该数据部分每额外合并一次就加一。级别为 0 表示这是一个尚未合并的新数据部分。需要记住的是,ClickHouse 中的所有数据部分始终都是不可变的data_version- 可选值,在数据部分发生变异时递增 (再次强调,由于数据部分是不可变的,发生变异的数据也始终只会写入新的数据部分)
-
uuid(UUID) — 数据分区片段的 UUID。 -
part_type(String) — 数据分区片段的存储格式。可能的值:Wide— 每一列存储在单独的文件中;Compact— 所有列存储在一个文件中。数据存储格式由 MergeTree 表的min_bytes_for_wide_part和min_rows_for_wide_part设置控制。 -
active(UInt8) — 指示数据分区片段是否处于活动状态的标志。如果数据分区片段处于活动状态,则会在表中使用;否则,即将被删除。非活动数据分区片段会在合并和变更操作后出现。 -
marks(UInt64) — 标记数。要获取数据分区片段中行数的近似值,可将标记数乘以索引粒度 (通常为 8192) (此提示不适用于自适应粒度) 。 -
rows(UInt64) — 行数。 -
files(UInt64) — 数据分区片段中的文件数。 -
bytes_on_disk(UInt64) — 所有数据分区片段文件的总大小 (以字节为单位) 。 -
data_compressed_bytes(UInt64) — 数据分区片段中压缩数据的总大小。不包括所有辅助文件 (例如标记文件) 。 -
data_uncompressed_bytes(UInt64) — 数据分区片段中未压缩数据的总大小。不包括所有辅助文件 (例如标记文件) 。 -
primary_key_size(UInt64) — 磁盘上 primary.idx/cidx 文件中主键值使用的内存量 (以字节为单位) 。 -
marks_bytes(UInt64) — 标记文件的大小。 -
secondary_indices_compressed_bytes(UInt64) — 数据分区片段中次级索引压缩数据的总大小。不包括所有辅助文件 (例如标记文件) 。 -
secondary_indices_uncompressed_bytes(UInt64) — 数据分区片段中次级索引未压缩数据的总大小。不包括所有辅助文件 (例如标记文件) 。 -
secondary_indices_marks_bytes(UInt64) — 次级索引标记文件的大小。 -
modification_time(DateTime) — 存放该数据分区片段的目录的修改时间。这通常对应于数据分区片段的创建时间。 -
remove_time(DateTime) — 数据分区片段变为非活动状态的时间。 -
refcount(UInt32) — 引用该数据分区片段的位置数量。值大于 2 表示该数据分区片段正用于查询或合并。 -
min_date(Date) — 数据分区片段中日期键的最小值。 -
max_date(Date) — 数据分区片段中日期键的最大值。 -
min_time(DateTime) — 数据分区片段中日期时间键的最小值。 -
max_time(DateTime) — 数据分区片段中日期时间键的最大值。 -
partition_id(String) — 分区 ID。 -
min_block_number(Int64) — 合并后构成当前数据分区片段的最小数据分区片段编号。 -
max_block_number(Int64) — 合并后构成当前数据分区片段的最大数据分区片段编号。 -
level(UInt32) — 合并树的深度。零表示当前数据分区片段是通过 insert 创建的,而不是通过合并其他 parts 创建的。 -
data_version(UInt64) — 用于确定应对数据分区片段应用哪些变更的数值 (版本高于 data_version 的变更) 。 -
primary_key_bytes_in_memory(UInt64) — 主键值占用的内存量 (以字节为单位) 。当启用primary_key_lazy_load且主键未加载时,该值为 0。当值非 0 时,这些字节驻留在数据分区片段本身中,并计入jemalloc.mergetree_arena.active_bytes。它们绝不会计入PrimaryIndexCacheBytes——对于每个数据分区片段,这两者是互斥的:索引要么位于数据分区片段中 (此指标) ,要么位于共享的PrimaryIndexCache中 (另一个指标) ,具体取决于primary_key_lazy_load和use_primary_key_cache。 -
primary_key_bytes_in_memory_allocated(UInt64) — 为主键值预留的内存量 (以字节为单位) 。当启用primary_key_lazy_load且主键未加载时,该值为 0。当值非 0 时,会计入jemalloc.mergetree_arena.active_bytes。关于它与PrimaryIndexCacheBytes的关系,请参见primary_key_bytes_in_memory的说明。 -
index_granularity_bytes_in_memory(UInt64) — 索引粒度值占用的内存量 (以字节为单位) (在 primary_key_lazy_load=1 且 use_primary_key_cache=1 的情况下为 0) 。当值非 0 时,这些字节归数据分区片段所有,并计入jemalloc.mergetree_arena.active_bytes。 -
index_granularity_bytes_in_memory_allocated(UInt64) — 为索引粒度值预留的内存量 (以字节为单位) (在 primary_key_lazy_load=1 且 use_primary_key_cache=1 的情况下为 0) 。当值非 0 时,会计入jemalloc.mergetree_arena.active_bytes。 -
is_frozen(UInt8) — 表示是否存在分区数据备份的标志。1 表示备份存在。0 表示备份不存在。更多详情,请参见 FREEZE PARTITION。 -
database(String) — 数据库名称。 -
table(String) — 表名称。 -
engine(String) — 不带参数的表引擎名称。 -
disk_name(String) — 存储该数据分区片段的磁盘名称。 -
path(String) — 包含数据分区片段文件的文件夹绝对路径。 -
hash_of_all_files(String) — 压缩文件的 sipHash128。 -
hash_of_uncompressed_files(String) — 未压缩文件 (如带有标记、索引文件等的文件) 的 sipHash128。 -
uncompressed_hash_of_compressed_files(String) — 将压缩文件中的数据按未压缩状态计算得到的 sipHash128。 -
delete_ttl_info_min(DateTime) — TTL DELETE 规则的日期时间键最小值。 -
delete_ttl_info_max(DateTime) — TTL DELETE 规则的日期时间键最大值。 -
move_ttl_info.expression(Array(String)) — 表达式数组。每个表达式定义一条 TTL MOVE 规则。 -
move_ttl_info.min(Array(DateTime)) — 日期时间值数组。每个元素描述一条 TTL MOVE 规则的最小键值。 -
move_ttl_info.max(Array(DateTime)) — 日期时间值数组。每个元素描述一条 TTL MOVE 规则的最大键值。 -
default_compression_codec(String) — 用于压缩此数据分区片段的 codec 名称 (当列未显式指定 codec 时) 。 -
recompression_ttl_info.expression(Array(String)) — TTL 表达式。 -
recompression_ttl_info.min(Array(DateTime)) — 此数据分区片段内计算得到的 TTL 表达式最小值。用于判断是否至少有一行的 TTL 已过期。 -
recompression_ttl_info.max(Array(DateTime)) — 此分片中计算出的生存时间 (TTL) 表达式的最大值。用于判断是否所有行的 TTL 都已过期。 -
group_by_ttl_info.expression(Array(String)) — 生存时间 (TTL) 表达式。 -
group_by_ttl_info.min(Array(DateTime)) — 此分片中计算出的生存时间 (TTL) 表达式的最小值。用于判断是否至少有一行的 TTL 已过期。 -
group_by_ttl_info.max(Array(DateTime)) — 此分片中计算出的生存时间 (TTL) 表达式的最大值。用于判断是否所有行的 TTL 都已过期。 -
rows_where_ttl_info.expression(Array(String)) — 生存时间 (TTL) 表达式。 -
rows_where_ttl_info.min(Array(DateTime)) — 此分片中计算出的生存时间 (TTL) 表达式的最小值。用于判断是否至少有一行的 TTL 已过期。 -
rows_where_ttl_info.max(Array(DateTime)) — 此分片中计算出的生存时间 (TTL) 表达式的最大值。用于判断是否所有行的 TTL 都已过期。 -
projections(Array(String)) — 为此分片计算出的投影名称列表。 -
visible(UInt8) — 用于指示此分片对 SELECT 查询是否可见的标志。 -
creation_tid(Tuple(UInt64, UInt64, UUID)) — 创建此对象或正在尝试创建此对象的事务 ID。 -
removal_tid_lock(UInt64) —removal_tid的哈希值,用于锁定待删除的对象。 -
removal_tid(Tuple(UInt64, UInt64, UUID)) — 删除此对象或正在尝试删除此对象的事务 ID。 -
creation_csn(UInt64) — 创建此对象的事务的 CSN。 -
removal_csn(UInt64) — 删除此对象的事务的 CSN。 -
has_lightweight_delete(UInt8) — 用于指示该分片是否带有轻量级删除掩码的标志。 -
last_removal_attempt_time(DateTime) — 服务器上次尝试删除此分片的时间。 -
removal_state(String) — 分片删除流程的当前状态。