Dans MySQL 5.7, un nouveau type de données pour stocker des données JSON dans des tables MySQL a été ajouté. Ce sera évidemment un grand changement dans MySQL. Ils ont énuméré certains avantages
Validation de document - Seuls les documents JSON valides peuvent être stockés dans une colonne JSON, vous obtenez ainsi une validation automatique de vos données.
Accès efficace - Plus important encore, lorsque vous stockez un document JSON dans une colonne JSON, il n'est pas stocké en tant que valeur de texte brut. Au lieu de cela, il est stocké dans un format binaire optimisé qui permet un accès plus rapide aux membres d'objet et aux éléments du tableau.
Performances - Améliorez les performances de vos requêtes en créant des index sur les valeurs dans les colonnes JSON. Ceci peut être réalisé avec des «index fonctionnels» sur des colonnes virtuelles.
Commodité - La syntaxe en ligne supplémentaire pour les colonnes JSON rend très naturel l'intégration des requêtes Document dans votre SQL. Par exemple (features.feature est une colonne JSON):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
HOU LA LA ! ils incluent quelques fonctionnalités intéressantes. Il est désormais plus facile de manipuler les données. Il est désormais possible de stocker des données plus complexes en colonne. MySQL est donc désormais parfumé avec NoSQL.
Maintenant, je peux imaginer une requête pour les données JSON quelque chose comme
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 );
Alors, puis-je stocker d'énormes petites relations dans quelques json colum? Est-ce bien? Cela brise-t-il la normalisation. Si cela est possible, je suppose que cela fonctionnera comme NoSQL dans une colonne MySQL . Je veux vraiment en savoir plus sur cette fonctionnalité. Avantages et inconvénients du type de données MySQL JSON.
Now it is possible to store more complex data in column
. Soyez prudent