inflearn logo
강의

Course

Instructor

High-Performance SQL for JPA (ORM) Developers

mysql에서 text vs json

112

ballgaveship1247

1 asked

0

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

 

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

sql dbms/rdbms performance-tuning sql-query

Answer 1

0

communityai8509

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

  1. Text 타입:

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

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

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

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

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

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

노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.

0

10

1

Substack 1년 제공

1

21

3

특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

간단한 오타 제보입니다.

0

19

1

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

34

2

실제 FK제약조건을 설정하지 않는이유

0

35

2

인프라 구성 중 ELB 관련하여 질문 드립니다.

0

29

2

Sequence 관련 질문

1

32

2

Image Only Query

1

29

2

Free Edition 실습 영상은 아직 업데이트전인가요?

0

22

1

라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항

0

36

2

상품 정보 크롤링

0

29

2

강의에 적용한 스크립트를 받아 볼수 있을까요?

0

40

2

실습소실행안되요

0

39

1

JSON 타입 질문

0

58

1

강의 질문 - JSON 관련

0

45

1

강의 중 추가 질문 사항

0

45

1

강의 중 궁금사항 질문

0

50

0

강의 중 추가 질문

0

43

1

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

0

56

1

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

0

68

0

exist subquery limit1

0

73

1

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

0

235

2