> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# min_insert_* 会话设置

> ClickHouse 中 min_insert_* 自动生成分组下的会话设置。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>类型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>默认值</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          无需重启即可更改
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

这些设置可在 [system.settings](/docs/zh/reference/system-tables/settings) 中查看，并根据 [源代码](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) 自动生成。

<div id="min_insert_block_size_bytes">
  ## min\_insert\_block\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="268402944" />

插入到表时生成的块的最小大小 (以字节为单位) 。

此设置与 min\_insert\_block\_size\_rows 配合使用，并在相同的上下文中控制块的生成 (格式解析和 INSERT 操作) 。有关这些设置会在何时以及如何应用的详细信息，请参见 min\_insert\_block\_size\_rows。

可能的值：

* 正整数。
* 0 — 该设置不参与块的生成。

<div id="min_insert_block_size_bytes_for_materialized_views">
  ## min\_insert\_block\_size\_bytes\_for\_materialized\_views
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

设置可通过 `INSERT` 查询插入到表中的块的最小字节数。较小的块会合并为更大的块。此设置仅适用于插入到 [materialized view](/docs/zh/reference/statements/create/view) 的块。通过调整此设置，你可以控制推送到 materialized view 时的块合并，并避免过高的内存占用。

可能的值：

* 任意正整数。
* 0 — 禁用合并。

**另请参见**

* [min\_insert\_block\_size\_bytes](/docs/zh/reference/settings/session-settings/min-insert#min_insert_block_size_bytes)

<div id="min_insert_block_size_rows">
  ## min\_insert\_block\_size\_rows
</div>

<SettingsInfoBlock type="UInt64" default_value="1048449" />

插入表时生成的块的最小大小 (按行数计) 。

此设置控制以下两种场景中的块的生成：

1. 格式解析：当服务器通过任意接口 (HTTP、带内联数据的 ClickHouse 客户端、gRPC、PostgreSQL wire protocol) 解析基于行的输入格式 (CSV、TSV、JSONEachRow 等) 时，会在以下情况下输出块：

   * 同时达到 min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes，OR
   * 达到 max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes 其中之一

   注意：使用 ClickHouse 客户端 或 clickhouse-local 从文件读取时，数据由客户端自身解析，因此此设置在客户端生效。

2. INSERT 操作：在 INSERT 查询期间以及数据流经 materialized view 时，此设置的行为取决于 `use_strict_insert_block_limits`：

   * 启用时：会在以下情况下输出块：
     * 最小阈值 (AND) ：同时达到 min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes
     * 最大阈值 (OR) ：达到 max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes 其中之一

   * 禁用时 (默认) ：当达到 min\_insert\_block\_size\_rows OR min\_insert\_block\_size\_bytes 其中之一时就会输出块。此时不会强制执行 max\_insert\_block\_size 设置。

可能的值：

* 正整数。
* 0 — 此设置不参与块的生成。

<div id="min_insert_block_size_rows_for_materialized_views">
  ## min\_insert\_block\_size\_rows\_for\_materialized\_views
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

设置可通过 `INSERT` 查询插入到表中的块的最小行数。较小的块会合并为更大的块。此设置仅适用于插入到 [materialized view](/docs/zh/reference/statements/create/view) 的块。调整此设置后，您可以控制推送到 materialized view 时的块合并，从而避免过高的内存占用。

可能的值：

* 任意正整数。
* 0 — 禁用合并。

**另请参阅**

* [min\_insert\_block\_size\_rows](/docs/zh/reference/settings/session-settings/min-insert#min_insert_block_size_rows)
