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

> ClickHouse 不支持自动分片重平衡，因此我们提供了一些分片重平衡的最佳实践。

# 数据重平衡

ClickHouse 不支持自动分片重平衡。不过，仍可按以下优先顺序对分片进行重平衡：

1. 调整[分布式表](/docs/zh/reference/engines/table-engines/special/distributed)所使用的分片，让写入偏向新分片。这种方式可能会导致集群负载不均和热点问题，但在大多数写入吞吐量不算特别高的场景下通常是可行的。它不需要用户更改写入目标，也就是说，仍然可以继续写入分布式表。但这种方法无法帮助重平衡现有数据。

2. 作为 (1) 的替代方案，可以修改现有集群，并在集群达到平衡之前仅向新分片写入，即手动控制写入权重。它与 (1) 有相同的局限性。

3. 如果你需要重平衡现有数据，并且数据已经分区，可以考虑先分离分区，再手动将其迁移到另一个节点，然后重新附加到新分片。与后续方法相比，这种方式更依赖手动操作，但可能更快、资源消耗也更低。由于这是手动操作，因此需要自行规划数据重平衡过程。

4. 通过 [INSERT FROM SELECT](/docs/zh/reference/statements/insert-into#inserting-the-results-of-select) 将数据从源集群导出到新集群。对于非常大的数据集，这种方式性能通常不佳，而且可能会给源集群带来显著的 IO 开销，并占用大量网络资源。这应视为最后的手段。
