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 배치 삽입에서 최대 행 수예요.

더 알아보기 (Learn more)