문서 메뉴

문서 홈보기 & 데이터 분석BI 커넥터

유형 변환 모드

이 페이지의 내용

  • 모드 비교 표

버전 2.6에 새로 추가됨

BI용 MongoDB Connector는 SQL 쿼리를 MongoDB 집계 파이프라인 으로 변환하려고 시도합니다. BI Connector가 쿼리를 집계 파이프라인으로 변환할 수 없는 경우 메모리에서 쿼리를 실행하여 지연 시간이 증가합니다. 버전 2 이전.6 mongosqld 에서 유형 변환을 애그리게이션 표현식으로 변환할 수 없어 유형 변환에 의존하는 쿼리를 변환할 수 없습니다.

버전 2.6부터 mongosql 유형 변환 모드는 표현식 성능을 개선하기 위해 버전 4.0 이상을 실행하는 MongoDB Server로 모든 유형 변환을 푸시합니다. 이 모드는 기본적으로 활성화되어 있지만 type_conversion_mode 세션 변수를 다음 값 중 하나로 설정하여 세션별로 구성할 수 있습니다.

모드
설명
mongosql
기본값. 모든 유형 변환을 버전 4.0 이상을 실행하는 MongoDB Server로 푸시합니다. 4.0 이전 버전의 MongoDB의 경우 BI Connector는 메모리에서 유형 변환을 수행합니다.
mysql
MySQL의 유형 변환 의미 체계와 최대한 일치하도록 BI Connector에 지시합니다. BI Connector가 애그리게이션 언어에서 MySQL의 유형 캐스팅 동작을 재현할 수 있는 경우, 표현식을 실행을 위해 MongoDB 서버로 푸시합니다. 그렇지 않으면 mongosqld 가 메모리에서 표현식을 실행합니다.

다음 예에서는 type_conversion_mode 변수를 mysql 로 설정합니다.

SET SESSION type_conversion_mode = 'mysql';

중요

mongosql 는 MySQL의 동작을 모방해야 하는 경우를 제외하고는 권장되는 타입 캐스팅 모드입니다. 위의 예에서는 mongosql 이 기본값이고 명시적으로 설정할 필요가 없기 때문에 mysql 유형 변환 모드를 설정합니다.

유형 변환 모드는 다음 두 가지 모두에 적용됩니다.

  • 명시적 유형 변환. 예를 들면 다음과 같습니다.

    CAST("123" AS unsigned)
  • 암시적 유형 변환. 예를 들면 다음과 같습니다. "123" + 456

다음 표는 MySQL의 유형 변환 동작이 BI Connector의 기본 유형 변환 동작(mongosql 모드)과 어떻게 다른지에 대한 개요를 제공합니다.

시작 유형
입력 대상
MySQL 동작
mongosql-mode 동작
Varchar
숫자
다양한 형식의 문자열에서 숫자를 구문 분석합니다. 자세한 내용은 MySQL 숫자 리터럴 을(를) 참조하세요. 문서화.
선택적 선행 기호 문자를 사용하여 10진수 형식의 문자열에서 숫자를 구문 분석합니다.
Varchar
타임스탬프
다양한 형식의 문자열에서 날짜를 구문 분석합니다. 자세한 내용은 MySQL 날짜 및 시간 리터럴 을 참조하세요. .
"%Y-%m-%dT%H:%M:%S.%LZ" 형식의 문자열에서 날짜를 구문 분석합니다.
Int
타임스탬프
int의 varchar 표현에서 날짜를 구문 분석하려고 시도합니다. 예를 들어 정수 20180809183456 은 날짜 2018-08-09 18:34:56.000000 이 됩니다.
유닉스 시간 이후의 입력을 밀리초로 처리합니다. 예를 들어 1533839696000 입니다.
타임스탬프
Long
타임스탬프를 YYYYMMDDHHMMSS 형식의 long으로 구문 분석합니다. 예를 들어 20180701123400 입니다.
유닉스 시간 이후의 밀리초를 나타내는 long으로 타임스탬프를 구문 분석합니다. 예를 들어 1530448440000 입니다.
타임스탬프
Varchar
타임스탬프를 YYYY-MM-DD HH:MM:SS.MMMMMM 형식의 varchar로 구문 분석합니다. 예를 들어 “2018-07-01 12:34:00.000000” 입니다.
타임스탬프를 YYYY-MM-DDTHH:MM:SS:MMMZ 형식의 varchar로 구문 분석합니다. 예를 들어 “2018-07-01T12:34:00.000Z” 입니다.

참고

mongosql 는 MySQL의 동작을 가깝게 복제해야 하는 경우를 제외하고 권장되는 타입 캐스팅 모드입니다.

← 로그 메시지

이 페이지의 내용