MySQL 5.7에서는 MySQL 테이블에 JSON 데이터 를 저장하기위한 새로운 데이터 유형 이 추가되었습니다. 분명히 MySQL에서 큰 변화가 될 것입니다. 몇 가지 이점을 나열했습니다.
문서 유효성 검사 -유효한 JSON 문서 만 JSON 열에 저장할 수 있으므로 데이터를 자동으로 유효성 검사 할 수 있습니다.
효율적인 액세스 -더 중요한 것은 JSON 문서를 JSON 열에 저장할 때 일반 텍스트 값으로 저장되지 않는다는 것입니다. 대신 최적화 된 이진 형식으로 저장되어 개체 구성원 및 배열 요소에 더 빠르게 액세스 할 수 있습니다.
성능 -JSON 열 내의 값에 대한 인덱스를 생성하여 쿼리 성능을 향상시킵니다. 이는 가상 열의 "기능적 인덱스"를 사용하여 달성 할 수 있습니다.
편리 성 -JSON 열에 대한 추가 인라인 구문은 SQL 내에서 문서 쿼리를 통합하는 것을 매우 자연스럽게 만듭니다. 예 (features.feature는 JSON 열임) :
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
와 ! 그들은 몇 가지 훌륭한 기능을 포함합니다. 이제 데이터 조작이 더 쉬워졌습니다. 이제 열에 더 복잡한 데이터를 저장할 수 있습니다. 따라서 MySQL은 이제 NoSQL을 사용합니다.
이제 JSON 데이터에 대한 쿼리를 다음과 같이 상상할 수 있습니다.
SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN
(
SELECT JSON_EXTRACT(data,"$.inverted")
FROM t1 | {"series": 3, "inverted": 8}
WHERE JSON_EXTRACT(data,"$.inverted")<4 );
그렇다면 소수의 json colum에 거대한 작은 관계를 저장할 수 있습니까? 좋은가요? 정규화를 중단합니까? 이것이 가능하면 MySQL 열에서 NoSQL처럼 작동 할 것이라고 생각합니다 . 이 기능에 대해 더 알고 싶습니다. MySQL JSON 데이터 유형의 장단점.
Now it is possible to store more complex data in column
. 조심하십시오