mysql_* 세션 설정
mysql_* 세션 설정
이 페이지에서는 ClickHouse의 mysql_* 그룹에 속하는 세션 설정들을 다뤄요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스 코드에서 자동 생성돼요. MySQL 관련 동작을 세밀하게 제어하고 싶을 때 참고하면 좋아요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.
mysql_datatypes_support_level
MySQL 타입을 대응하는 ClickHouse 타입으로 변환하는 방식을 정의해요. decimal, datetime64, date2Date32, date2String 또는 geometry 중 임의의 조합으로, 쉼표로 구분된 목록으로 지정해요. 최신 매핑(decimal, datetime64, date2Date32, geometry)은 기본적으로 활성화되어 있어요.
-
decimal: 정밀도가 허용될 때
NUMERIC과DECIMAL타입을Decimal로 변환해요. -
datetime64: 정밀도가 0이 아닐 때
DATETIME과TIMESTAMP타입을DateTime대신DateTime64로 변환해요. -
date2Date32:
DATE를Date대신Date32로 변환해요.date2String보다 우선해요. -
date2String:
DATE를Date대신String으로 변환해요.datetime64에 의해 대체돼요. -
geometry: MySQL의 공간 타입(
LINESTRING,POLYGON,MULTILINESTRING,MULTIPOLYGON,MULTIPOINT)을 대응하는 ClickHouse 기하 타입으로 변환하고, 일반적인GEOMETRY타입은 포괄적인Geometry타입으로 변환해요.POINT는 이 옵션과 관계없이 항상Point로 변환돼요. 일반GEOMETRY컬럼은 어떤 하위 타입도 담을 수 있기 때문에, ClickHouse에 대응하는 타입이 없는 하위 타입(GEOMETRYCOLLECTION)의 값을 읽으면 읽기 시점에 예외가 발생해요.GEOMETRYCOLLECTION으로 선언된 컬럼은String으로 매핑돼요.POINT가 아닌 nullable 공간 컬럼도Nullable(String)으로 매핑되는데, 이는Point만이Nullable안에 중첩될 수 있는 유일한 기하 타입이기 때문이에요. 이러한 각 문자열은 MySQL이 반환하는 대로 4바이트SRID접두사 뒤에WKB페이로드가 붙은 형태예요. 위 내용은 스키마를 MySQL 테이블의 컬럼 타입에서 유추할 때 적용돼요. 소스가 쿼리인 경우(mysql테이블 함수의query(...)인자 또는 MySQL 테이블 엔진) MySQL은 구체적인 하위 타입 없이 모든 공간 결과 컬럼을 일반GEOMETRY로 보고하기 때문에,POINT를 포함한 그러한 컬럼들은String으로 매핑돼요(nullable이면Nullable(String)).
mysql_max_rows_to_insert
MySQL 스토리지 엔진의 MySQL 배치 삽입에서 최대 행 수예요.