Native JSON-Unterstützung in MYSQL 5.7: Welche Vor- und Nachteile hat der JSON-Datentyp in MYSQL?

In MySQL 5.7 ein neuer Datentyp zum Speichern vonJSON-Daten in MySQL tables wurde hinzugefügt. Es wird offensichtlich eine große Veränderung in MySQL sein. Sie haben einige Vorteile aufgelistet

Document Validation - Nur gültige JSON-Dokumente können in einer JSON-Spalte gespeichert werden, sodass Sie eine automatische Überprüfung Ihrer Daten erhalten.

Effizienter Zugang - Noch wichtiger ist, dass ein JSON-Dokument beim Speichern in einer JSON-Spalte nicht als Nur-Text-Wert gespeichert wird. Stattdessen wird es in einem optimierten Binärformat gespeichert, das einen schnelleren Zugriff auf Objektelemente und Array-Elemente ermöglicht.

Performanc - Verbessern Sie die Abfrageleistung, indem Sie Indizes für Werte in den JSON-Spalten erstellen. Dies kann mit „Funktionsindizes“ für virtuelle Spalten erreicht werden.

Bequemlichkei - Die zusätzliche Inline-Syntax für JSON-Spalten macht es sehr natürlich, Dokumentabfragen in Ihre SQL zu integrieren. Zum Beispiel (features.feature ist eine JSON-Spalte):SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;

WOW ! Sie beinhalten einige großartige Funktionen. Jetzt ist es einfacher, Daten zu manipulieren. Jetzt ist es möglich, komplexere Daten in Spalten zu speichern. So ist MySQL jetzt mit NoSQL gewürzt.

Jetzt kann ich mir eine Abfrage nach JSON-Daten vorstellen, etwa

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 );

So kann ich riesige kleine Relationen in wenigen Json Colum speichern? Ist es gut? Bricht es die Normalisierung?Wenn dies möglich ist, verhält es sich in einer MySQL-Spalte wie NoSQL. Ich möchte wirklich mehr über diese Funktion erfahren. Vor- und Nachteile des MySQL JSON-Datentyps.