In MySQL 5.7 un nuovo tipo di dati per memorizzare JSON data in MySQL tabelle è stato aggiunto . Sarà ovviamente un grande cambiamento in MySQL. Sono elencati alcuni beneficiSupporto JSON nativo in MySQL 5.7: quali sono i pro e i contro del tipo di dati JSON in MYSQL?
documento di convalida - Solo i documenti JSON validi possono essere memorizzati in una colonna JSON, in modo da ottenere la convalida automatica dei dati.
Accesso efficiente - Ancora più importante, quando si archivia un documento JSON in una colonna JSON, non viene memorizzato come valore di testo normale. Invece, viene memorizzato in formato binario ottimizzato che consente l'accesso rapido ad oggetto membri ed elementi dell'array.
Prestazioni - Migliora le prestazioni della query creando indici su valori all'interno delle colonne JSON. Questo può essere ottenuto con "indici funzionali" su colonne virtuali.
Convenienza - La sintassi in linea aggiuntivo per le colonne JSON rende molto naturale per integrare le query del documento all'interno del vostro SQL. Ad esempio, (features.feature è una colonna JSON):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
WOW! includono alcune grandi caratteristiche. Ora è più facile manipolare i dati. Ora è possibile memorizzare dati più complessi nella colonna. Quindi MySQL ora è condito con NoSQL.
Ora posso immaginare una query per i dati JSON qualcosa come
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);
Quindi non penso mai di una struttura dello schema complessa e chiavi esterne in MySQL. Memorizzo relazioni complesse usando solo poche tabelle. È buono? Rompe la normalizzazione. Se ciò è possibile, suppongo che si comporterà come NoSQL in una colonna MySQL. Voglio davvero saperne di più su questa funzione. Pro e contro del tipo di dati JSON MySQL.
oh si prega di non dire quello che penso che stai dicendo. [Qui, leggi questo] (http://stackoverflow.com/a/32620163).La tua è un'altra variante su una cattiva idea. – Drew
@Drew Hai dato una grande risposta. Ma non è una mia domanda. Voglio solo sapere che se scriviamo una query per dati json, potremmo saltare le regole sql. perché non abbiamo bisogno di molte tabelle – Imran
hai detto 'Ora è possibile memorizzare dati più complessi nella colonna'. Fai attenzione – Drew