Skip to main content

描述

包含有关 MergeTree 表中各个数据部分的信息。 每一行描述一个数据部分。

  • partition (String) — 分区标识符 (由表分区键表达式生成的字符串表示形式) 。
  • name (String) — 数据分区片段的名称。分区片段的命名结构可用于判断数据、摄取和合并模式的许多特征。分区片段的命名格式如下:
    • 定义:
      • partition_id - 标识分区键
      • minimum_block_number - 标识该 part 中的最小块编号。ClickHouse 始终合并连续的块
      • maximum_block_number - 标识该 part 中的最大块编号
      • level - 每对该 part 额外执行一次合并,便递增 1。级别为 0 表示这是一个尚未合并的新 part。请注意,ClickHouse 中的所有 part 始终不可变
      • data_version - 可选值,在 part 发生变更时递增 (同样,由于 part 不可变,变更后的数据始终只会写入新的 part)
  • uuid (UUID) — 数据分区片段的 UUID。
  • part_type (String) — 数据分区片段的存储格式。可能的值:Wide — 每列存储在单独的文件中;Compact — 所有列存储在同一个文件中。数据存储格式由 MergeTree 表的 min_bytes_for_wide_partmin_rows_for_wide_part 设置控制。
  • part_storage_type (String) — DataPartStorage 的类型。可能的值:Packed - 大部分数据分区片段文件存储在单个归档中 (投影和 txn_version.txt 等少量服务文件会单独写入) ;Full - 每个文件单独存储。
  • 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) — 合并树的层级深度。值为零表示当前分片是通过插入创建的,而非通过合并其他分片创建。
  • data_version (UInt64) — 用于确定应对数据分区片段应用哪些变更的编号 (版本高于 data_version 的变更) 。
  • primary_key_bytes_in_memory (UInt64) — 主键值占用的内存量 (以字节为单位) 。启用 primary_key_lazy_load 且未加载键时,该值为 0。非零时,这些字节存储在分区片段本身中,并计入 jemalloc.mergetree_arena.active_bytes。它们绝不会计入 PrimaryIndexCacheBytes。对于每个分区片段,两者互斥:根据 primary_key_lazy_loaduse_primary_key_cache 的设置,索引要么存储在分区片段中 (此指标) ,要么存储在共享 PrimaryIndexCache 中 (另一指标) 。
  • primary_key_bytes_in_memory_allocated (UInt64) — 为主键值预留的内存量 (以字节为单位) 。启用 primary_key_lazy_load 且未加载键时,该值为 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) 。非零时,这些字节归分区片段所有,并计入 jemalloc.mergetree_arena.active_bytes
  • index_granularity_bytes_in_memory_allocated (UInt64) — 为索引粒度值预留的内存量 (以字节为单位) (当 primary_key_lazy_load=1 且 use_primary_key_cache=1 时为 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(Default) 时,用于压缩此数据分区片段的编解码器名称。启用 allow_experimental_adaptive_codec_selection 后,此类列的各个块可能使用其他编解码器;请参阅 mergeTreeCodecBlockCounts
  • 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) — 数据分区片段删除过程的当前状态。
别名:
  • bytesbytes_on_disk 的别名。
  • marks_sizemarks_bytes 的别名。
  • part_namename 的别名。

示例

另请参阅

最后修改于 2026年8月14日