반응형
MySQL의 JSON에는 BLOB 또는 텍스트를 사용해야 합니까?
저장하려고 합니다.json_encoded
문자열이 표시됩니다.길이가 얼마나 될지는 정확히 알 수 없지만, 분명 길 거예요.어떤 필드 타입을 사용할지 고민입니다.blob
또는text
?
빠른 검색보다 공간을 최대한 절약할 수 있는 컬럼을 선호합니다.어쨌든 인덱스만 해야 할 다른 컬럼이 있습니다.
MySQL 설명서에서 설명한 바와 같이 5.7.8 이후 네이티브 JSON 데이터 유형이 지원됩니다.
JSON 데이터 유형은 문자열 열에 JSON 형식의 문자열을 저장하는 것보다 다음과 같은 이점을 제공합니다.
- JSON 열에 저장된 JSON 문서의 자동 유효성 검사.문서가 잘못되면 오류가 발생합니다.
- 최적화된 스토리지 형식.JSON 열에 저장된 JSON 문서는 문서 요소에 대한 빠른 읽기 액세스를 허용하는 내부 형식으로 변환됩니다.나중에 서버가 이 바이너리 형식으로 저장된 JSON 값을 읽어야 할 경우 텍스트 표현에서 값을 구문 분석할 필요가 없습니다.이진 형식은 서버가 문서에서 하위 오브젝트 또는 중첩된 값을 앞뒤의 모든 값을 읽지 않고 키 또는 배열 색인으로 직접 검색할 수 있도록 구성되어 있습니다.
따라서 MySQL 설명서에 나와 있듯이 텍스트가 아닌 JSON 데이터 유형을 사용해야 합니다.
blob
보통 이미지, 바이너리 등을 위한 것입니다. text
고객님의 경우 충분할 것입니다.그렇지 않으면longtext
그게 정말 걱정된다면 더 큰 공간을 가질 수 있어요.
검색을 통해 저장하기 때문에json_encode
'd 물건, 그래도 전화해야 할 거야'json_decode
어플리케이션에서 유용하게 쓰려면 이 경우 데이터 유형의 선택은 중요하지 않다고 생각합니다.
더 나은 방법은 하나의 큰 json 문자열에 관련 내용을 저장하는 대신 데이터베이스 설계를 정규화하는 것입니다.
언급URL : https://stackoverflow.com/questions/10201957/should-i-use-blob-or-text-for-json-in-mysql
반응형
'source' 카테고리의 다른 글
matplotlib Python 설치 문제 (0) | 2022.10.02 |
---|---|
캔버스 요소에서 마우스 클릭 좌표를 가져오려면 어떻게 해야 합니까? (0) | 2022.10.02 |
tailwindcss @apply 디렉티브가 vue 구성 요소 내에서 작동하지 않음 (0) | 2022.10.02 |
간단한 PHP 개발 서버가 있습니까? (0) | 2022.10.02 |
JavaScript에서 URL의 호스트 이름 부분을 추출하는 방법 (0) | 2022.10.02 |