ignore(무시) 관련 설정
ignore(무시) 관련 설정
특정 데이터 스킵핑 인덱스, DROP 쿼리, FORMAT Null, 머티리얼라이즈드 뷰 등을 무시하도록 제어하는 설정들이에요. 실제로 사용된 인덱스를 무시하는 동작을 확인하거나 테스트하기 위한 용도로 활용돼요. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.
ignore_cold_parts_seconds
ClickHouse Cloud에서만 효과가 있어요. 새 데이터 파트를 pre-warm되거나(cache_populated_by_fetch 참조) 이 초수만큼 오래되기 전까지 SELECT 쿼리에서 제외해요. Replicated-/SharedMergeTree에만 해당돼요.
ignore_data_skipping_indices
지정된 스킵핑 인덱스가 쿼리에서 사용되더라도 이를 무시해요.
다음 예를 생각해 보세요:
CREATE TABLE data
(
key Int,
x Int,
y Int,
INDEX x_idx x TYPE minmax GRANULARITY 1,
INDEX y_idx y TYPE minmax GRANULARITY 1,
INDEX xy_idx (x,y) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;
INSERT INTO data VALUES (1, 2, 3);
SELECT * FROM data;
SELECT * FROM data SETTINGS ignore_data_skipping_indices=''; -- CANNOT_PARSE_TEXT 오류 발생
SELECT * FROM data SETTINGS ignore_data_skipping_indices='x_idx'; -- 정상
SELECT * FROM data SETTINGS ignore_data_skipping_indices='na_idx'; -- 정상
SELECT * FROM data WHERE x = 1 AND y = 1 SETTINGS ignore_data_skipping_indices='xy_idx',force_data_skipping_indices='xy_idx' ; -- xy_idx가 명시적으로 무시되어 INDEX_NOT_USED 오류 발생
SELECT * FROM data WHERE x = 1 AND y = 2 SETTINGS ignore_data_skipping_indices='xy_idx';
어떤 인덱스도 무시하지 않는 쿼리:
EXPLAIN indexes = 1 SELECT * FROM data WHERE x = 1 AND y = 2;
Expression ((Projection + Before ORDER BY))
Filter (WHERE)
ReadFromMergeTree (default.data)
Indexes:
PrimaryKey
Condition: true
Parts: 1/1
Granules: 1/1
Skip
Name: x_idx
Description: minmax GRANULARITY 1
Parts: 0/1
Granules: 0/1
Skip
Name: y_idx
Description: minmax GRANULARITY 1
Parts: 0/0
Granules: 0/0
Skip
Name: xy_idx
Description: minmax GRANULARITY 1
Parts: 0/0
Granules: 0/0
xy_idx 인덱스를 무시한 경우:
EXPLAIN indexes = 1 SELECT * FROM data WHERE x = 1 AND y = 2 SETTINGS ignore_data_skipping_indices='xy_idx';
Expression ((Projection + Before ORDER BY))
Filter (WHERE)
ReadFromMergeTree (default.data)
Indexes:
PrimaryKey
Condition: true
Parts: 1/1
Granules: 1/1
Skip
Name: x_idx
Description: minmax GRANULARITY 1
Parts: 0/1
Granules: 0/1
Skip
Name: y_idx
Description: minmax GRANULARITY 1
Parts: 0/0
Granules: 0/0
MergeTree 계열의 테이블에서 작동해요.
ignore_drop_queries_probability
활성화하면 서버가 지정된 확률로 모든 DROP 테이블 쿼리를 무시해요(Memory와 JOIN 엔진에서는 DROP을 TRUNCATE로 대체). 테스트 목적으로 사용돼요.
ignore_format_null_for_explain
활성화하면 EXPLAIN 쿼리에 대해 FORMAT Null이 무시되고 기본 출력 형식이 대신 사용돼요. 비활성화하면 FORMAT Null이 있는 EXPLAIN 쿼리는 출력이 없어요(하위 호환 동작).
ignore_materialized_views_with_dropped_target_table
뷰로 푸시하는 동안 대상 테이블이 삭제된 MV를 무시해요.