mysql에서 text vs json
181
1 asked
어떤 상황에서 text를 쓰고 어떤 상황에서 json을 쓰는게 좋을까요?
현재는 json을 이용해서 쿼리를 사용할 사용성이 없지만 저장, 조회에 큰 비용이 발생하지 않는다면 추후를 위해서 json 타입으로 선언하는게 좋을까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
웃자님께서 MySQL에서 텍스트와 JSON 타입 중 어떤 것을 사용할지 고민 중이신 것 같네요. 두 가지 데이터 타입의 장단점을 고려해보겠습니다.
Text 타입:
- 단순히 문자열 데이터를 저장하고자 할 때 적합합니다.
- 텍스트 데이터에 대해 구조화되지 않은 정보를 저장할 때 주로 사용됩니다.
- 쿼리 실행 시 단순 문자열 비교만 가능하므로, 보다 복잡한 구조의 데이터 검색에는 부적절할 수 있습니다.
- 단순히 문자열 데이터를 저장하고자 할 때 적합합니다.
JSON 타입:
- JSON은 구조화된 데이터 형식을 유지하면서 데이터를 저장하고 싶을 때 사용합니다.
- 특정 키를 통한 검색이나 JSON 함수를 활용한 복잡한 쿼리가 가능합니다.
- JSON 객체 내에서 데이터 구조를 쉽게 가공할 수 있습니다.
- 다만, JSON은 일반 텍스트보다 저장 공간을 더 많이 차지할 수 있으며, 성능도 영향 받을 수 있습니다.
- JSON은 구조화된 데이터 형식을 유지하면서 데이터를 저장하고 싶을 때 사용합니다.
사용성 및 성능 면에서는 사용자의 요구사항에 따라 선택해야 합니다. 만약 단순한 문자열 데이터 저장이 주된 목적이라면 TEXT 타입이 더 적합할 수 있고, 구조화된 데이터를 저장하고 이후 복잡한 검색이나 조작이 필요할 경우에는 JSON 타입을 고려해볼 수 있습니다.
추후 JSON 데이터를 활용할 가능성이 있다면 초기 단계에서 JSON 타입으로 선언하는 것도 좋은 선택이 될 수 있습니다. 실제 데이터를 다루는 상황과 성능 요구사항을 충분히 고려하여 결정하시는 것이 좋습니다.
추가적인 도움이 필요하신 경우, 다음의 자료가 도움이 될 수 있습니다:
- Spring Data JDBC 공식 문서
- Spring 데이터 관련 Stack Overflow
도움이 되셨기를 바랍니다!
조회 메서드에서 @Transactional(readOnly=true) 질문
0
16
0
68강 문제 풀이
0
21
1
현대 쿼리 복잡성에 관한 질문
0
37
3
key_length 가 사용되는곳
0
37
1
[과제]1-9 피벗 테이블 만들어보기
0
50
2
cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?
0
54
2
해당 결제 부분을 포폴에서 테스트 api를 적용에 대한 궁금증
0
38
0
아래 글들에서 적혀있는 노션 페이지를 찾을수 없다는데요..
0
43
1
공통 코드 VS Enum 클래스
1
39
1
안녕하세요.
0
51
1
Properties 설정이 추가되었는데
0
36
1
강의 DB데이터 질문
0
56
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
38
1
선생님 질문있습니다!
0
55
2
선생님 샤딩에 대한 강의도 좀 해주세요
0
50
1
JSON 타입 질문
0
95
1
강의 질문 - JSON 관련
0
78
1
강의 중 추가 질문 사항
0
82
1
강의 중 궁금사항 질문
0
80
0
강의 중 추가 질문
0
79
1
Transactions(5) - Skip Locked 무한 인코딩 현상
0
97
1
77. Transactions(5) - Skip Locked-영상 재생 문제
0
84
0
exist subquery limit1
0
92
1
소스코드 DB 세팅 가이드가 필요합니다.
0
273
2

