> ## 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.

# reader_executor_* 会话设置

> ClickHouse 中 reader_executor_* 生成组的会话设置。

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>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental 功能。 <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">了解详情。</a></u>
        </div>;
};

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

<div id="reader_executor_max_tail_for_drain">
  ## reader\_executor\_max\_tail\_for\_drain
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1048576"},{"label": "新增 Experimental ReaderExecutor 设置：用于完成已丢弃长连接的 drain 边界。"}]}]} />

Experimental `ReaderExecutor` 的 drain 边界：如果某个长源端连接在距离其右边界这么多字节的范围内被丢弃，则会先继续读取到该边界，使其完成并以可复用连接的形式返回连接池，而不是计为不完整连接。

<div id="reader_executor_min_bytes_for_seek">
  ## reader\_executor\_min\_bytes\_for\_seek
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "2097152"},{"label": "新增 Experimental ReaderExecutor 设置：用于限制在保持打开的源端连接上通过桥接跨越前向间隔的上限。"}]}]} />

Experimental `ReaderExecutor` 的前向间隔上限：不超过该值的间隔会在已打开的源端连接上直接跳过 (通过桥接/连续读取跨越) ，而不是单独发起一次源端读取或重新打开连接。建议将其设在接近带宽/请求成本的盈亏平衡点，以确保桥接仍具成本效益。

<div id="reader_executor_use_long_connections">
  ## reader\_executor\_use\_long\_connections
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "新的 Experimental ReaderExecutor 设置（默认关闭）：在连续窗口之间复用保持打开的源端连接。"}]}]} />

在Experimental `ReaderExecutor`中，可跨窗口复用受限的长连接型源端连接。长连接是指其 range 超出当前读取窗口的连接；禁用时，执行器不会占用任何连接池配额，且每个窗口都会打开一个短期的一次性连接 (无状态路径) 。
