Chris Devlog

Mysql에서 Json type 활용하기(1) 본문

Spring Boot/JPA

Mysql에서 Json type 활용하기(1)

Chris Dev Heo 2024. 12. 30. 03:46
반응형

들어가며


이번 글에서는 Mysql에서 Json 데이터를 어떻게 insert하고 쿼리하는지 그리고 어떻게 활용 할 수 있는지에 대해 이야기 해보려고 합니다.

아래 글에 없는 더 자세한 설명은 https://dev.mysql.com/doc/refman/8.4/en/json.html에 잘 나와있기 때문에 직접 확인해 보시는걸 추천드리고, 이 글은 최종적으로 Spring Jpa 환경에서 json 타입의 데이터를 어떻게 활용 할 수 있는지를 이야기하기 위한 글이기 때문에 그에 필요한 내용들만 간단히 설명하도록 하겠습니다

Mysql에서 Json type


장점

  • RDB에서 Json을 사용함으로써 불필요한 테이블이 추가되는걸 방지
  • 서비스 로직에서 외부 API를 통한 데이터를 저장할 때 DTO생성없이 간단하게 저장 가능

단점

  • json 타입 저장으로 인한 쿼리의 복잡도 상승

 

Create & Insert


# 테이블 생성
CREATE TABLE json_test (json_data JSON);

# json 데이터 입력
INSERT INTO json_test VALUES('{"key1": "value1", "key2": 30000, "key3": "2024-12-30 02:27:00"}');

 

Select


 데이터 조회

 

json 데이터 조회 - 함수

json 데이터 조회 - 연산자

json 데이터 더블쿼테이션(") 삭제 - 함수

json 데이터 더블쿼테이션(") 삭제 - 연산자

 

Add Column


Json 데이터를 컬럼으로 등록하여 사용함으로써 보다 전략적으로 Json 데이터 활용이 가능해집니다

데이터는 기본적으로 "읽기전용"입니다

데이터의 변경이 필요하다면 json데이터의 값을 변경하면됩니다

데이터의 타입값을 지정 할 수 있기 때문에 원하는 타입으로 등록이 가능합니다

등록된 컬럼 데이터는 기존 방식으로 쿼리가 가능해 집니다

 

컬럼으로 등록

데이터 확인

 

Add Index


json데이터 활용에 대해 쿼리 속도에 대해 고려중이라면 index를 생성하여 해결하면됩니다

index는 json데이터가 아닌 생성된 컬럼을 기준으로 생성하여 사용합니다

반응형

'Spring Boot > JPA' 카테고리의 다른 글

Mysql에서 Json type 활용하기(3)  (0) 2025.01.02
Mysql에서 Json type 활용하기(2)  (1) 2024.12.31