Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

настройки сеанса deduplicate_insert_*

Эти настройки доступны в system.settings и автоматически генерируются из исходного кода.

deduplicate_insert

Тип
DeduplicateInsertMode
По умолчанию
enable
История версий
ВерсияЗначение по умолчаниюКомментарий
26.2enableПо умолчанию включает дедупликацию для всех синхронных и асинхронных вставок.

Включает или отключает дедупликацию блоков при INSERT INTO (для таблиц Replicated*). Этот параметр применяется как к синхронным, так и к асинхронным вставкам и переопределяет параметры insert_deduplicate и async_insert_deduplicate. У этого параметра есть три возможных значения:

  • disable — Дедупликация отключена для запроса INSERT INTO.
  • enable — Дедупликация включена для запроса INSERT INTO.
  • backward_compatible_choice — Дедупликация включается, если для соответствующего типа вставки включен insert_deduplicate или async_insert_deduplicate.

Для запросов INSERT SELECT сначала проверяется deduplicate_insert_select. Для дедупликации также требуется, чтобы целевая таблица вела журнал дедупликации; см. replicated_deduplication_window и non_replicated_deduplication_window.

deduplicate_insert_select

Тип
DeduplicateInsertSelectMode
По умолчанию
enable_when_possible
История версий
ВерсияЗначение по умолчаниюКомментарий
26.1enable_when_possibleизменено поведение `deduplicate_insert_select` по умолчанию на ENABLE_WHEN_POSSIBLE
25.12enable_even_for_bad_queriesновая настройка, заменяет insert_select_deduplicate

Включает или отключает дедупликацию блоков для INSERT SELECT (для таблиц Replicated*). Для запросов INSERT SELECT эта настройка учитывается перед deduplicate_insert. SELECT считается стабильным, если содержит ORDER BY ALL, а его конвейер завершается одним потоком. Непустой insert_deduplication_token является эквивалентной заменой стабильности. У этой настройки есть четыре возможных значения:

  • disable — Дедупликация для запроса INSERT SELECT отключена.
  • force_enable — Дедупликация для запроса INSERT SELECT включена независимо от deduplicate_insert. Если результат SELECT нестабилен и токен не указан, генерируется исключение.
  • enable_when_possible — Дедупликация включается, если она включена настройкой deduplicate_insert и результат SELECT стабилен, в противном случае отключается.
  • enable_even_for_bad_queries - Дедупликация включается, если она включена настройкой deduplicate_insert, независимо от того, стабилен ли результат SELECT. Если результат SELECT нестабилен, в журнал записывается сообщение, но запрос выполняется с дедупликацией. Этот параметр предназначен для обратной совместимости. Рекомендуется использовать другие варианты, так как этот может приводить к неожиданным результатам.
Navigation