ClickHouse/docs/ru/sql-reference/statements/optimize.md
Roman Bug 899f93356f
romanzhukov-DOCSUP-2192: Split ALTER to separate files (ru) (#13905)
* DOCSUP-2192: Split alter section to separete files.

* DOCSUP-2192: Test.

* DOCSUP-2192: Fixed cross links.

* DOCSUP-2192: Fix links.

* DOCSUP-2192: Fix links.

* DOCSUP-2192: Fix links.

* DOCSUP-2192: Added alter delete and alter update topics.

* DOCSUP-2192: Fix one layout mistake and update links.

* DOCSUP-2192: Added delete and update sections. Updated alter index.md

* DOCSUP-2192: Fix links.

Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru>
2020-08-25 18:38:36 +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».

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