SELECT 및 INSERT 쿼리를 실행할 수 있습니다.
테이블 생성하기
- 컬럼 이름은 원본 MySQL 테이블과 같아야 하지만, 그중 일부만 어떤 순서로든 사용할 수 있습니다.
- 컬럼 타입은 원본 MySQL 테이블의 타입과 달라도 됩니다. ClickHouse는 값을 ClickHouse 데이터 타입으로 형 변환하려고 시도합니다.
- external_table_functions_use_nulls 설정은 널 허용 컬럼을 처리하는 방식을 정의합니다. 기본값은 1입니다. 값이 0이면 테이블 함수는 널 허용 컬럼을 만들지 않고 null 대신 기본값을 삽입합니다. 이는 배열 내부의 NULL 값에도 적용됩니다.
host:port— MySQL 서버 주소입니다.database— 원격 데이터베이스 이름입니다.table— 원격 테이블 이름입니다.user— MySQL 사용자입니다.password— 사용자 비밀번호입니다.replace_query—INSERT INTO쿼리를REPLACE INTO로 변환하는 플래그입니다.replace_query=1이면 해당 쿼리로 대체됩니다.on_duplicate_clause—INSERT쿼리에 추가되는ON DUPLICATE KEY on_duplicate_clause표현식입니다. 예시:INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1에서on_duplicate_clause는UPDATE c2 = c2 + 1입니다.ON DUPLICATE KEY절과 함께 사용할 수 있는on_duplicate_clause는 MySQL 문서를 참조하십시오.on_duplicate_clause를 지정하려면replace_query매개변수에0을 전달해야 합니다.replace_query = 1과on_duplicate_clause를 동시에 전달하면 ClickHouse에서 예외가 발생합니다.
host와 port는 별도로 지정해야 합니다. 이 방식은 프로덕션 환경에 권장됩니다.
=, !=, >, >=, <, <=와 같은 단순한 WHERE 절은 MySQL 서버에서 실행됩니다.
나머지 조건과 LIMIT 샘플링 제약은 MySQL 쿼리가 완료된 후에만 ClickHouse에서 실행됩니다.
여러 레플리카를 지원하며, |로 나열해야 합니다. 예를 들면 다음과 같습니다.
사용 예시
설정
connection_auto_close
- 1 — 연결 자동 닫기가 허용되며, 연결 재사용이 비활성화됩니다
- 0 — 연결 자동 닫기가 허용되지 않으며, 연결 재사용이 활성화됩니다
1.
connection_max_tries
- 양의 정수
- 0 — 페일오버를 지원하는 풀에 대해 재시도하지 않습니다.
3.
connection_pool_size
- 양의 정수.
16.
connection_wait_timeout
connection_pool_size개의 연결이 활성 상태인 경우). 0이면 대기하지 않습니다.
Possible values:
- 양의 정수.
5.
connect_timeout
- 양의 정수.
10.
read_write_timeout
- 양의 정수.
300.