강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

웃자님의 프로필 이미지
웃자

작성한 질문수

JPA (ORM) 개발자를 위한 고성능 SQL (High-Performance SQL)

mysql에서 text vs json

작성

·

19

0

어떤 상황에서 text를 쓰고 어떤 상황에서 json을 쓰는게 좋을까요?

 

현재는 json을 이용해서 쿼리를 사용할 사용성이 없지만 저장, 조회에 큰 비용이 발생하지 않는다면 추후를 위해서 json 타입으로 선언하는게 좋을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
웃자님께서 MySQL에서 텍스트와 JSON 타입 중 어떤 것을 사용할지 고민 중이신 것 같네요. 두 가지 데이터 타입의 장단점을 고려해보겠습니다.

  1. Text 타입:

    • 단순히 문자열 데이터를 저장하고자 할 때 적합합니다.
    • 텍스트 데이터에 대해 구조화되지 않은 정보를 저장할 때 주로 사용됩니다.
    • 쿼리 실행 시 단순 문자열 비교만 가능하므로, 보다 복잡한 구조의 데이터 검색에는 부적절할 수 있습니다.
  2. JSON 타입:

    • JSON은 구조화된 데이터 형식을 유지하면서 데이터를 저장하고 싶을 때 사용합니다.
    • 특정 키를 통한 검색이나 JSON 함수를 활용한 복잡한 쿼리가 가능합니다.
    • JSON 객체 내에서 데이터 구조를 쉽게 가공할 수 있습니다.
    • 다만, JSON은 일반 텍스트보다 저장 공간을 더 많이 차지할 수 있으며, 성능도 영향 받을 수 있습니다.

사용성 및 성능 면에서는 사용자의 요구사항에 따라 선택해야 합니다. 만약 단순한 문자열 데이터 저장이 주된 목적이라면 TEXT 타입이 더 적합할 수 있고, 구조화된 데이터를 저장하고 이후 복잡한 검색이나 조작이 필요할 경우에는 JSON 타입을 고려해볼 수 있습니다.

추후 JSON 데이터를 활용할 가능성이 있다면 초기 단계에서 JSON 타입으로 선언하는 것도 좋은 선택이 될 수 있습니다. 실제 데이터를 다루는 상황과 성능 요구사항을 충분히 고려하여 결정하시는 것이 좋습니다.

추가적인 도움이 필요하신 경우, 다음의 자료가 도움이 될 수 있습니다:
- Spring Data JDBC 공식 문서
- Spring 데이터 관련 Stack Overflow

도움이 되셨기를 바랍니다!

웃자님의 프로필 이미지
웃자

작성한 질문수

질문하기