Обзор
SELECT, а при распределённой
обработке запросов они применяются отдельно на каждом сервере.
Как правило, ClickHouse проверяет ограничения только после полной обработки
частей данных, а не для каждой строки. Это может
привести к ситуации, когда ограничения нарушаются в процессе обработки
части.
Настройки overflow_mode
overflow_mode, который определяет, что происходит
при превышении лимита, и может принимать одно из двух значений:
throw: сгенерировать исключение (по умолчанию).break: остановить выполнение запроса и вернуть частичный результат, как если бы исходные данные были исчерпаны.
max_execution_time со значением break, некоторые операции не могут безопасно вернуть
частичный результат, поэтому вместо сокращённого результата они завершаются, не возвращая его. Функция,
вычисляющая одно значение, завершается, не возвращая это значение; будет ли остановка также передана
клиенту как ошибка TIMEOUT_EXCEEDED или проявится лишь отсутствием результата, зависит от того, где был
прерван запрос. Незавершённая из-за тайм-аута мутация таблицы Memory оставляет таблицу без изменений и
сообщает TIMEOUT_EXCEEDED. Операция INSERT может сообщить QUERY_WAS_CANCELLED. Некоторые операции, ожидающие
других реплик или завершения фоновой работы, вообще не останавливаются по max_execution_time: запись с кворумом
продолжает ожидание до достижения кворума либо сообщает UNKNOWN_STATUS_OF_INSERT, если раньше
истекает insert_quorum_timeout.
Настройки group_by_overflow_mode
group_by_overflow_mode также есть
значение any:
any: продолжать агрегацию для ключей, уже попавших в набор, но не добавлять в него новые ключи.
Список настроек
Ограничения на «максимальное количество чего-либо» могут иметь значение
0,
что означает отсутствие ограничений.Устаревшие настройки
Следующие настройки устарели.