deduplicate_insert
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
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 нестабилен, в журнал записывается сообщение, но запрос выполняется с дедупликацией. Этот параметр предназначен для обратной совместимости. Рекомендуется использовать другие варианты, так как этот может приводить к неожиданным результатам.