inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

mysql에서 text vs json

130

웃자

작성한 질문수 1

0

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

 

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

sql dbms/rdbms performance-tuning sql-query

답변 1

0

인프런 AI 인턴

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

  1. Text 타입:

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

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

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

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

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

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

vercel실행 - failed to fetch

0

11

1

드랍 테이블로 지운 ordes에 대해서 질문

0

22

1

문제 풀이 1번 질문

0

28

1

아주 작은 정오표 전달드립니다.

0

52

2

AWS 프리티어에서 RDS 인스턴스 유형을 선택할 수 없음

0

43

2

mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.

0

44

1

온톨로지 구축

0

27

1

실제로 작은 기업에서 기획 롤

1

26

1

함수기반 인덱스

0

29

2

날짜 인덱스관련 질문

0

26

1

복합인덱스 확인법

0

23

0

order_product 까마귀발

0

44

2

공통 코드 , 계층 구조 질문

1

39

1

77번 문제

0

27

1

76번 문제

1

35

2

JSON 타입 질문

0

66

1

강의 질문 - JSON 관련

0

54

1

강의 중 추가 질문 사항

0

57

1

강의 중 궁금사항 질문

0

57

0

강의 중 추가 질문

0

49

1

Transactions(5) - Skip Locked 무한 인코딩 현상

0

69

1

77. Transactions(5) - Skip Locked-영상 재생 문제

0

70

0

exist subquery limit1

0

77

1

소스코드 DB 세팅 가이드가 필요합니다.

0

245

2