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

# replicated_deduplication_window_* MergeTree 表设置

> ClickHouse MergeTree 表设置，属于 replicated_deduplication_window_* 自动生成组。

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.merge\_tree\_settings](/docs/zh/reference/system-tables/merge_tree_settings) 中查看，且由 ClickHouse 源代码自动生成。

<div id="replicated_deduplication_window">
  ## replicated\_deduplication\_window
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "10000"},{"label": "提高默认值"}]}]} />

ClickHouse Keeper 为最近插入的块存储哈希和，用于检查重复项；该设置指定这类块的数量。

可能的值：

* 任意正整数。
* 0 (禁用去重)

对于[插入去重](/docs/zh/reference/engines/table-engines/mergetree-family/replication)，
在向复制表写入时，ClickHouse 会将去重哈希和写入
ClickHouse Keeper。哈希和仅为最近的
`replicated_deduplication_window` 个块保存。更早的哈希和会从
ClickHouse Keeper 中移除。

哈希和覆盖整个已插入块，因此只有当一次插入的
全部数据与之前某次插入 (即一次重试) 完全一致时，该次插入才会被去重，而不是按单个分片去重。

`replicated_deduplication_window` 的值过大会拖慢 `Inserts`，因为需要比较更多
条目。

<div id="replicated_deduplication_window_for_async_inserts">
  ## replicated\_deduplication\_window\_for\_async\_inserts
</div>

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

这是一个为混合版本滚动升级保留的旧版设置。新的插入操作会使用由 `replicated_deduplication_window` 控制的统一哈希进行去重；现在，这个设置仅用于限制在 ClickHouse Keeper 的 `async_blocks` 目录中保留多少旧版 async-insert 哈希值。这些哈希值在滚动升级期间仍会由较旧的副本写入，并由当前 leader 清理。
值为 `0` 时将一个也不保留——下一轮清理会移除所有 entry——因此，为了在升级期间保留旧版 async 去重窗口，请保持默认值 (或使用更大的值) 。

<div id="replicated_deduplication_window_seconds">
  ## replicated\_deduplication\_window\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "3600"},{"label": "默认值降低"}]}]} />

插入块的哈希和在从 ClickHouse Keeper 中移除前保留的秒数。

可能的值：

* 任意正整数。

与 [replicated\_deduplication\_window](/docs/zh/reference/settings/merge-tree-settings/replicated-deduplication-window#replicated_deduplication_window) 类似，
`replicated_deduplication_window_seconds` 指定用于插入去重的块哈希和应保留多长时间。早于
`replicated_deduplication_window_seconds` 的块哈希和会从 ClickHouse Keeper 中移除，
即使它们尚未超过 ` replicated_deduplication_window`。

这里的时间是相对于最近一条记录的时间，而不是相对于实际时钟时间。
如果这是一条唯一的记录，它将被永久保留。

<div id="replicated_deduplication_window_seconds_for_async_inserts">
  ## replicated\_deduplication\_window\_seconds\_for\_async\_inserts
</div>

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

为混合版本滚动升级而保留的旧版设置。它与
`replicated_deduplication_window_for_async_inserts` 一起，限定了旧版哈希值
在 ClickHouse Keeper 的 `async_blocks` 目录中保留的时长 (这些哈希由较旧的副本在
滚动升级期间写入，并由当前 leader 清理) 。新的插入操作使用
`replicated_deduplication_window_seconds`。
