跳至主要内容

parts_columns

包含有关 MergeTree 表的部分和列的信息。

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

  • partition (String) — 分区名称。要了解什么是分区,请参阅 ALTER 查询的描述。

    格式

    • 按月自动分区使用 YYYYMM
    • 手动分区时使用 any_string
  • name (String) — 数据部分的名称。

  • part_type (String) — 数据部分的存储格式。

    可能的值

    • Wide — 每一列都存储在文件系统中的单独文件中。

    • Compact — 所有列都存储在文件系统中的一个文件中。

      数据存储格式由 MergeTree 表的 min_bytes_for_wide_partmin_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) — 默认值的表达式类型(DEFAULTMATERIALIZEDALIAS),如果未定义则为空字符串。

  • 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 的别名。

示例

SELECT * FROM system.parts_columns LIMIT 1 FORMAT Vertical;
Row 1:
──────
partition: tuple()
name: all_1_2_1
part_type: Wide
active: 1
marks: 2
rows: 2
bytes_on_disk: 155
data_compressed_bytes: 56
data_uncompressed_bytes: 4
marks_bytes: 96
modification_time: 2020-09-23 10:13:36
remove_time: 2106-02-07 06:28:15
refcount: 1
min_date: 1970-01-01
max_date: 1970-01-01
partition_id: all
min_block_number: 1
max_block_number: 2
level: 1
data_version: 1
primary_key_bytes_in_memory: 2
primary_key_bytes_in_memory_allocated: 64
database: default
table: 53r93yleapyears
engine: MergeTree
disk_name: default
path: /var/lib/clickhouse/data/default/53r93yleapyears/all_1_2_1/
column: id
type: Int8
column_position: 1
default_kind:
default_expression:
column_bytes_on_disk: 76
column_data_compressed_bytes: 28
column_data_uncompressed_bytes: 2
column_marks_bytes: 48

另请参阅