"데이터 유형"이라고 할 때의 의미에 따라 다릅니다. PostgreSQL과 같은 일부 데이터베이스에는 전체 텍스트 검색, 이진 저장 메커니즘, 인덱싱 및 전체 연산자가 데이터에 액세스 할 수있는 JSON 데이터 형식이 있습니다. 마리아는 아직 가지고 있지 않습니다. 데이터 유형은 MDEV-9144에 의해 구체적으로 추적됩니다 .
그럼에도 불구 하고 버그 관리자 중 하나에서 MySQL 로 매우 제한된 유형을 가져옵니다.
JSON 데이터 형식은 SQL 표준과 직접 모순됩니다. 즉 JSON_ * 함수는 문자열을 인수로 사용합니다. 또한 속도
에 따른 MariaDB에는 바이너리 JSON이 필요하지 않습니다. 벤치 마크에 따르면 JSON 파서는 바이너리 JSON의 MySQL만큼 텍스트 JSON에서 빠릅니다. 즉, MariaDB에서는 JSON에 대해 VARCHAR 또는 TEXT를 사용할 수 있습니다. 유효성 검사가 필요한 경우 CHECK 제약 조건으로 확인할 수 있습니다.
my_json_column TEXT CHECK (JSON_VALID(my_json_column))
하지만 MySQL 호환성을 위해 JSON "type"을 추가 할 것입니다.
내 독서에서, 그것은 정확히 바이너리 바이너리의 요점이 아닙니다 .MySQL 문서를 참조합시다.
이진 형식은 서버가 문서에서 또는 그 이전의 모든 값을 읽지 않고 키 또는 배열 인덱스로 하위 오브젝트 또는 중첩 값을 직접 조회 할 수 있도록 구성되어 있습니다.
다시 말하지만, PostgreSQL의의는jsonb
않습니다 훨씬 더보다.
jsonb 데이터는 분해 이진 형식으로 저장되므로 변환 오버 헤드가 추가되어 입력이 약간 느리지 만 재분석이 필요하지 않기 때문에 처리 속도가 훨씬 빠릅니다. jsonb는 인덱싱도 지원하므로 상당한 이점이 있습니다.
tldr; Maria DB에는 아직 JSON 유형이 없습니다. "유형"을 가져와도 텍스트 유효성 검사 (PostgreSQL json
유형 과 같은)에 대한 얇은 래퍼 일뿐 입니다. jsonb
개발자가 이점을 이해하지 못하기 때문에 PostgreSQL과 같은 이진 JSON 유형에 대한 계획은 없습니다 .