> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 包含 MergeTree 各数据部分信息的系统表

# system.parts

<div id="description">
  ## 描述
</div>

包含有关 [MergeTree](/zh/reference/engines/table-engines/mergetree-family/mergetree) 表中各个数据部分的信息。

每一行描述一个数据部分。

<div id="columns">
  ## 列
</div>

* `partition` ([String](/zh/reference/data-types/string)) — 分区标识符 (由表分区键表达式生成的字符串表示形式) 。
* `name` ([String](/zh/reference/data-types/string)) — 数据分区片段的名称。分区片段的命名结构可用于判断数据、摄取和合并模式的许多特征。分区片段的命名格式如下：

  ```text theme={null}
  <partition_id>_<minimum_block_number>_<maximum_block_number>_<level>_<data_version>
  ```

  * 定义：
    * `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](/zh/reference/data-types/uuid)) — 数据分区片段的 UUID。
* `part_type` ([String](/zh/reference/data-types/string)) — 数据分区片段的存储格式。可能的值：`Wide` — 每列存储在单独的文件中；`Compact` — 所有列存储在同一个文件中。数据存储格式由 MergeTree 表的 `min_bytes_for_wide_part` 和 `min_rows_for_wide_part` 设置控制。
* `part_storage_type` ([String](/zh/reference/data-types/string)) — `DataPartStorage` 的类型。可能的值：`Packed` - 大部分数据分区片段文件存储在单个归档中 (投影和 `txn_version.txt` 等少量服务文件会单独写入) ；`Full` - 每个文件单独存储。
* `active` ([UInt8](/zh/reference/data-types/int-uint)) — 指示数据分区片段是否处于活动状态的标志。活动的数据分区片段会被表使用；否则即将被删除。非活动数据分区片段会在合并和变更操作后出现。
* `marks` ([UInt64](/zh/reference/data-types/int-uint)) — 标记数。要获得数据分区片段中行数的近似值，请将标记数乘以索引粒度 (通常为 8192) 。此方法不适用于自适应粒度。
* `rows` ([UInt64](/zh/reference/data-types/int-uint)) — 行数。
* `files` ([UInt64](/zh/reference/data-types/int-uint)) — 数据分区片段中的文件数。
* `bytes_on_disk` ([UInt64](/zh/reference/data-types/int-uint)) — 所有数据分区片段文件的总大小，单位为字节。
* `data_compressed_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 数据分区片段中压缩数据的总大小，不包括所有辅助文件 (例如标记文件) 。
* `data_uncompressed_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 数据分区片段中未压缩数据的总大小，不包括所有辅助文件 (例如标记文件) 。
* `primary_key_size` ([UInt64](/zh/reference/data-types/int-uint)) — 磁盘上 primary.idx/cidx 文件中主键值占用的内存量，单位为字节。
* `marks_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 标记文件的大小。
* `secondary_indices_compressed_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 数据分区片段中次级索引压缩数据的总大小，不包括所有辅助文件 (例如标记文件) 。
* `secondary_indices_uncompressed_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 数据分区片段中次级索引未压缩数据的总大小，不包括所有辅助文件 (例如标记文件) 。
* `secondary_indices_marks_bytes` ([UInt64](/zh/reference/data-types/int-uint)) — 次级索引标记文件的大小。
* `modification_time` ([DateTime](/zh/reference/data-types/datetime)) — 包含数据分区片段的目录的修改时间。这通常对应于数据分区片段的创建时间。
* `remove_time` ([DateTime](/zh/reference/data-types/datetime)) — 数据分区片段变为非活动状态的时间。
* `refcount` ([UInt32](/zh/reference/data-types/int-uint)) — 数据分区片段的被引用次数。值大于 2 表示该数据分区片段正用于查询或合并。
* `min_date` ([Date](/zh/reference/data-types/date)) — 数据分区片段中日期键的最小值。
* `max_date` ([Date](/zh/reference/data-types/date)) — 数据分区片段中日期键的最大值。
* `min_time` ([DateTime](/zh/reference/data-types/datetime)) — 数据分区片段中日期时间键的最小值。
* `max_time` ([DateTime](/zh/reference/data-types/datetime)) — 数据分区片段中日期时间键的最大值。
* `partition_id` ([String](/zh/reference/data-types/string)) — 分区 ID。
* `min_block_number` ([Int64](/zh/reference/data-types/int-uint)) — 合并后构成当前分片的数据分区片段的最小编号。
* `max_block_number` ([Int64](/zh/reference/data-types/int-uint)) — 合并后构成当前分片的数据分区片段的最大编号。
* `level` ([UInt32](/zh/reference/data-types/int-uint)) — 合并树的层级深度。值为零表示当前分片是通过插入创建的，而非通过合并其他分片创建。
* `data_version` ([UInt64](/zh/reference/data-types/int-uint)) — 用于确定应对数据分区片段应用哪些变更的编号 (版本高于 data\_version 的变更) 。
* `primary_key_bytes_in_memory` ([UInt64](/zh/reference/data-types/int-uint)) — 主键值占用的内存量 (以字节为单位) 。启用 `primary_key_lazy_load` 且未加载键时，该值为 0。非零时，这些字节存储在分区片段本身中，并计入 `jemalloc.mergetree_arena.active_bytes`。它们绝不会计入 `PrimaryIndexCacheBytes`。对于每个分区片段，两者互斥：根据 `primary_key_lazy_load` 和 `use_primary_key_cache` 的设置，索引要么存储在分区片段中 (此指标) ，要么存储在共享 `PrimaryIndexCache` 中 (另一指标) 。
* `primary_key_bytes_in_memory_allocated` ([UInt64](/zh/reference/data-types/int-uint)) — 为主键值预留的内存量 (以字节为单位) 。启用 `primary_key_lazy_load` 且未加载键时，该值为 0。非零时，计入 `jemalloc.mergetree_arena.active_bytes`。有关其与 `PrimaryIndexCacheBytes` 的关系，请参阅 `primary_key_bytes_in_memory` 的说明。
* `index_granularity_bytes_in_memory` ([UInt64](/zh/reference/data-types/int-uint)) — 索引粒度值占用的内存量 (以字节为单位)  (当 primary\_key\_lazy\_load=1 且 use\_primary\_key\_cache=1 时为 0) 。非零时，这些字节归分区片段所有，并计入 `jemalloc.mergetree_arena.active_bytes`。
* `index_granularity_bytes_in_memory_allocated` ([UInt64](/zh/reference/data-types/int-uint)) — 为索引粒度值预留的内存量 (以字节为单位)  (当 primary\_key\_lazy\_load=1 且 use\_primary\_key\_cache=1 时为 0) 。非零时，计入 `jemalloc.mergetree_arena.active_bytes`。
* `is_frozen` ([UInt8](/zh/reference/data-types/int-uint)) — 表示是否存在分区数据备份的标志。1 表示备份存在，0 表示备份不存在。有关详细信息，请参阅 FREEZE PARTITION。
* `database` ([String](/zh/reference/data-types/string)) — 数据库名称。
* `table` ([String](/zh/reference/data-types/string)) — 表名称。
* `engine` ([String](/zh/reference/data-types/string)) — 不带参数的表引擎名称。
* `disk_name` ([String](/zh/reference/data-types/string)) — 存储数据分区片段的磁盘名称。
* `path` ([String](/zh/reference/data-types/string)) — 数据分区片段文件所在文件夹的绝对路径。
* `hash_of_all_files` ([String](/zh/reference/data-types/string)) — 压缩文件的 sipHash128。
* `hash_of_uncompressed_files` ([String](/zh/reference/data-types/string)) — 未压缩文件的 sipHash128 (包括标记文件、索引文件等) 。
* `uncompressed_hash_of_compressed_files` ([String](/zh/reference/data-types/string)) — 将压缩文件中的数据视为未压缩数据时的 sipHash128。
* `delete_ttl_info_min` ([DateTime](/zh/reference/data-types/datetime)) — TTL DELETE 规则的日期时间键最小值。
* `delete_ttl_info_max` ([DateTime](/zh/reference/data-types/datetime)) — TTL DELETE 规则的日期时间键最大值。
* `move_ttl_info.expression` ([Array(String)](/zh/reference/data-types/array)) — 表达式数组。每个表达式定义一条 TTL MOVE 规则。
* `move_ttl_info.min` ([Array(DateTime)](/zh/reference/data-types/array)) — 日期时间值数组。每个元素描述一条 TTL MOVE 规则的最小键值。
* `move_ttl_info.max` ([Array(DateTime)](/zh/reference/data-types/array)) — 日期时间值数组。每个元素描述一条 TTL MOVE 规则的最大键值。
* `default_compression_codec` ([String](/zh/reference/data-types/string)) — 当列未显式指定编解码器或使用 `CODEC(Default)` 时，用于压缩此数据分区片段的编解码器名称。启用 `allow_experimental_adaptive_codec_selection` 后，此类列的各个块可能使用其他编解码器；请参阅 [`mergeTreeCodecBlockCounts`](/zh/reference/functions/table-functions/mergeTreeCodecBlockCounts)。
* `recompression_ttl_info.expression` ([Array(String)](/zh/reference/data-types/array)) — 生存时间 (TTL) 表达式。
* `recompression_ttl_info.min` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最小值。用于确定是否至少有一行的生存时间 (TTL) 已过期。
* `recompression_ttl_info.max` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最大值。用于确定是否所有行的生存时间 (TTL) 均已过期。
* `group_by_ttl_info.expression` ([Array(String)](/zh/reference/data-types/array)) — 生存时间 (TTL) 表达式。
* `group_by_ttl_info.min` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最小值。用于确定是否至少有一行的生存时间 (TTL) 已过期。
* `group_by_ttl_info.max` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最大值。用于确定是否所有行的生存时间 (TTL) 均已过期。
* `rows_where_ttl_info.expression` ([Array(String)](/zh/reference/data-types/array)) — 生存时间 (TTL) 表达式。
* `rows_where_ttl_info.min` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最小值。用于确定是否至少有一行的生存时间 (TTL) 已过期。
* `rows_where_ttl_info.max` ([Array(DateTime)](/zh/reference/data-types/array)) — 此数据分区片段中计算出的生存时间 (TTL) 表达式最大值。用于确定是否所有行的生存时间 (TTL) 均已过期。
* `projections` ([Array(String)](/zh/reference/data-types/array)) — 为此数据分区片段计算的投影名称列表。
* `visible` ([UInt8](/zh/reference/data-types/int-uint)) — 指示此数据分区片段是否对 SELECT 查询可见的标志。
* `creation_tid` ([Tuple(UInt64, UInt64, UUID)](/zh/reference/data-types/tuple)) — 创建或正在尝试创建此对象的事务 ID。
* `removal_tid_lock` ([UInt64](/zh/reference/data-types/int-uint)) — removal\_tid 的哈希，用于锁定对象以进行删除。
* `removal_tid` ([Tuple(UInt64, UInt64, UUID)](/zh/reference/data-types/tuple)) — 删除或正在尝试删除此对象的事务 ID
* `creation_csn` ([UInt64](/zh/reference/data-types/int-uint)) — 创建此对象的事务的 CSN
* `removal_csn` ([UInt64](/zh/reference/data-types/int-uint)) — 删除此对象的事务的 CSN
* `has_lightweight_delete` ([UInt8](/zh/reference/data-types/int-uint)) — 指示该数据分区片段是否具有轻量级删除掩码的标志。
* `last_removal_attempt_time` ([DateTime](/zh/reference/data-types/datetime)) — 服务器上次尝试删除此数据分区片段的时间。
* `removal_state` ([String](/zh/reference/data-types/string)) — 数据分区片段删除过程的当前状态。

**别名：**

* `bytes` — `bytes_on_disk` 的别名。
* `marks_size` — `marks_bytes` 的别名。
* `part_name` — `name` 的别名。

<div id="example">
  ## 示例
</div>

```sql theme={null}
SELECT * FROM system.parts LIMIT 1 FORMAT Vertical;
```

```text theme={null}
Row 1:
──────
partition:                             tuple()
name:                                  all_1_4_1_6
part_type:                             Wide
part_storage_type:                     Full
active:                                1
marks:                                 2
rows:                                  6
bytes_on_disk:                         310
data_compressed_bytes:                 157
data_uncompressed_bytes:               91
secondary_indices_compressed_bytes:    58
secondary_indices_uncompressed_bytes:  6
secondary_indices_marks_bytes:         48
marks_bytes:                           144
modification_time:                     2020-06-18 13:01:49
remove_time:                           1970-01-01 00:00:00
refcount:                              1
min_date:                              1970-01-01
max_date:                              1970-01-01
min_time:                              1970-01-01 00:00:00
max_time:                              1970-01-01 00:00:00
partition_id:                          all
min_block_number:                      1
max_block_number:                      4
level:                                 1
data_version:                          6
primary_key_bytes_in_memory:           8
primary_key_bytes_in_memory_allocated: 64
is_frozen:                             0
database:                              default
table:                                 months
engine:                                MergeTree
disk_name:                             default
path:                                  /var/lib/clickhouse/data/default/months/all_1_4_1_6/
hash_of_all_files:                     2d0657a16d9430824d35e327fcbd87bf
hash_of_uncompressed_files:            84950cc30ba867c77a408ae21332ba29
uncompressed_hash_of_compressed_files: 1ad78f1c6843bbfb99a2c931abe7df7d
delete_ttl_info_min:                   1970-01-01 00:00:00
delete_ttl_info_max:                   1970-01-01 00:00:00
move_ttl_info.expression:              []
move_ttl_info.min:                     []
move_ttl_info.max:                     []
```

<div id="see-also">
  ## 另请参阅
</div>

* [MergeTree 系列](/zh/reference/engines/table-engines/mergetree-family/mergetree)
* [列和表的 TTL](/zh/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl)
