You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ClickHouse中part_type的wide与compact区别及min_bytes_for_wide_part参数含义

ClickHouse中wide与compact类型Part的差异及min_bytes_for_wide_part参数解析

wide与compact类型Part的核心差异

  • 存储结构
    • compact:所有列的数据集中存储在单个data.bin文件中,列的元信息记录在columns.txt里。这种结构能减少小Part的文件数量,节省inode资源。
    • wide:每一列的数据都独立存储在专属文件中(如user_id.bin、order_amount.bin),每个列还对应单独的元数据文件。
  • 读写性能
    • compact:小数据量写入时更快,因为只需要操作一个文件;但查询仅需部分列时,必须读取整个数据文件,IO效率偏低。
    • wide:小数据量写入时因需创建多个文件,开销略高;但查询部分列时,仅需读取目标列的文件,能大幅降低IO开销,提升查询速度,尤其适合列数较多的表。
  • 适用场景
    • compact:适合小批量插入生成的小体积Part,避免系统产生大量细碎文件。
    • wide:适合大体积Part,或者经常进行列裁剪查询(只查部分列)的场景。

min_bytes_for_wide_part参数的具体含义

这个参数是ClickHouse控制Part存储格式的阈值:

  • 当单个Part的总大小小于该参数设定值时,Part会以compact格式存储;当总大小大于等于该值时,自动采用wide格式。
  • 默认值为10485760(即10MB),可以通过全局配置文件修改,也能在创建表时通过SETTINGS min_bytes_for_wide_part = XXX单独指定。
  • 注意:该阈值针对的是单个Part的大小,而非整个表。当后台合并小Part后,若合并后的Part大小达到阈值,会自动转换为wide格式。

内容的提问来源于stack exchange,提问作者keep wake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:44:55