ClickHouse/docs/ru/sql-reference/statements/optimize.md
Roman Bug 62054856b7
DOCSUP-1999: Restruct sql statements section in separate files. (#13389)
* DOCSUP-1999: First commit to test and build docs.

* DOCSUP-1999: Move topics from misc.md to single files.

* DOCSUP-1999: Add footer original article (for some files)

* DOCSUP-1999: Fix some links.

* DOCSUP-1999: Add Original article footer for all added files.

* DOCSUP-1999: Fix broken link.

* DOCSUP-1999: Fix header in misc.md (by pr comment).
Fixed footer (original article).

* DOCSUP-1999: Fix broken links for build.

Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru>
2020-08-10 16:10:48 +03:00

2.2 KiB
Raw Blame History

toc_priority toc_title
49 OPTIMIZE

OPTIMIZE

OPTIMIZE TABLE [db.]name [ON CLUSTER cluster] [PARTITION partition | PARTITION ID 'partition_id'] [FINAL] [DEDUPLICATE]

Запрос пытается запустить внеплановый мёрж кусков данных для таблиц семейства MergeTree. Другие движки таблиц не поддерживаются.

Если OPTIMIZE применяется к таблицам семейства ReplicatedMergeTree, ClickHouse создаёт задачу на мёрж и ожидает её исполнения на всех узлах (если активирована настройка replication_alter_partitions_sync).

  • Если OPTIMIZE не выполняет мёрж по любой причине, ClickHouse не оповещает об этом клиента. Чтобы включить оповещения, используйте настройку optimize_throw_if_noop.
  • Если указать PARTITION, то оптимизация выполняется только для указанной партиции. Как задавать имя партиции в запросах.
  • Если указать FINAL, то оптимизация выполняется даже в том случае, если все данные уже лежат в одном куске.
  • Если указать DEDUPLICATE, то произойдет схлопывание полностью одинаковых строк (сравниваются значения во всех колонках), имеет смысл только для движка MergeTree.

!!! warning "Внимание" Запрос OPTIMIZE не может устранить причину появления ошибки «Too many parts».

Оригинальная статья