이 설정은 system.settings에서 확인할 수 있으며, source를 기반으로 자동 생성됩니다.
force_aggregate_partitions_independently
최적화를 적용할 수 있지만 휴리스틱에 따라 사용하지 않도록 결정된 경우에도, 해당 최적화를 강제로 사용합니다
force_aggregation_in_order
이 설정은 서버 자체에서 분산 쿼리를 지원하기 위해 사용됩니다. 정상 동작에 문제가 발생할 수 있으므로 수동으로 변경하지 마십시오. (분산 집계 중 원격 노드에서 aggregation in order를 강제로 사용합니다).
force_creating_set_partitions_independently
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 0 | 파티션 편향 검사로 건너뛰는 경우에도 `IN (subquery)` Set을 빌드할 때 파티션별 사전 중복 제거를 강제하는 새로운 설정입니다. |
IN (subquery) Set 빌드에 적용 가능하지만 파티션 편향 검사(가장 큰 파티션이 평균의 2배를 초과하는 경우)에서 사용하지 않기로 결정한 경우에도 파티션별 사전 중복 제거를 강제합니다. allow_creating_set_partitions_independently의 편향 검사만 우회하며, 나머지 조건은 계속 적용됩니다.
force_data_skipping_indices
지정한 데이터 스키핑 인덱스가 사용되지 않으면 쿼리 실행을 비활성화합니다.
다음 예시를 살펴보십시오:
CREATE TABLE data
(
key Int,
d1 Int,
d1_null Nullable(Int),
INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;
SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- query will produce CANNOT_PARSE_TEXT error.
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- query will produce INDEX_NOT_USED error.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (example of full featured parser).
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- query will produce INDEX_NOT_USED error, since d1_null_idx is not used.
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.force_distinct_partitions_independently
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 0 | 비용 휴리스틱이 건너뛰더라도 파티션별 `DISTINCT` 평가를 독립적으로 강제하는 새로운 설정입니다. |
적용 가능하지만 비용 휴리스틱이 사용하지 않기로 결정한 경우, 파티션별로 DISTINCT를 독립적으로 평가하도록 강제합니다. allow_distinct_partitions_independently의 비용 휴리스틱만 우회하며, 나머지 조건은 계속 적용됩니다.
force_grouping_standard_compatibility
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 22.9 | 1 | GROUPING 함수의 출력이 SQL 표준 및 다른 DBMS와 동일해지도록 합니다 |
인수가 집계 키로 사용되지 않으면 GROUPING 함수가 1을 반환합니다
force_index_by_date
날짜 기준으로 인덱스를 사용할 수 없으면 쿼리 실행을 비활성화합니다.
MergeTree 엔진 계열의 테이블에서 작동합니다.
force_index_by_date=1이면 ClickHouse는 쿼리에 데이터 범위를 제한하는 데 사용할 수 있는 날짜 키 조건이 있는지 확인합니다. 적절한 조건이 없으면 예외를 발생시킵니다. 다만, 해당 조건이 읽어야 하는 데이터 양을 실제로 줄이는지는 확인하지 않습니다. 예를 들어 Date != ' 2000-01-01 ' 조건은 테이블의 모든 데이터와 일치하더라도 허용됩니다(즉, 쿼리를 실행하려면 전체 스캔이 필요합니다). MergeTree 테이블의 데이터 범위에 대한 자세한 내용은 MergeTree를 참조하십시오.
force_primary_key
프라이머리 키 인덱싱을 사용할 수 없으면 쿼리 실행을 비활성화합니다.
MergeTree 엔진 계열의 테이블에서 작동합니다.
force_primary_key=1이면 ClickHouse는 쿼리에 데이터 범위를 제한하는 데 사용할 수 있는 프라이머리 키 조건이 있는지 확인합니다. 적절한 조건이 없으면 예외를 발생시킵니다. 다만, 해당 조건이 읽어야 하는 데이터 양을 실제로 줄이는지는 확인하지 않습니다. MergeTree 테이블의 데이터 범위에 대한 자세한 내용은 MergeTree를 참조하십시오.
force_read_through_distributed_cache
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.9 | auto | 단일 쿼리에서 서버 설정 `enable_read_through_distributed_cache`를 재정의하는 새로운 설정입니다. |
| 26.8 | auto | 단일 쿼리에서 서버 설정 `enable_read_through_distributed_cache`를 재정의하는 새로운 설정입니다. |
ClickHouse Cloud에서만 적용됩니다. 단일 쿼리에서 서버 설정 enable_read_through_distributed_cache를 재정의합니다. 기본값인 auto는 서버 설정을 따릅니다.
force_remove_data_recursively_on_drop
DROP 쿼리 시 데이터를 재귀적으로 삭제합니다. '디렉터리가 비어 있지 않음' 오류를 방지하지만, 분리된 데이터가 자동으로 삭제될 수 있습니다.
force_window_partitions_independently
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 0 | 비용 휴리스틱이 건너뛰는 경우에도 윈도우 함수를 파티션별로 독립적으로 평가하도록 강제하는 새로운 설정입니다. |
적용 가능하지만 비용 휴리스틱이 사용하지 않기로 결정한 경우에도 윈도우 함수를 파티션별로 독립적으로 평가하도록 강제합니다. allow_window_partitions_independently의 비용 휴리스틱만 우회하며, 나머지 조건은 계속 적용됩니다.
force_write_through_distributed_cache
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.9 | auto | 단일 쿼리의 서버 설정 `enable_write_through_distributed_cache`를 재정의하는 새로운 설정. |
| 26.8 | auto | 단일 쿼리의 서버 설정 `enable_write_through_distributed_cache`를 재정의하는 새로운 설정. |
ClickHouse Cloud에서만 적용됩니다. 단일 쿼리에 대해 서버 설정 enable_write_through_distributed_cache를 재정의합니다. 기본값인 auto는 서버 설정을 따릅니다.