Suporte nativo a JSON no MYSQL 5.7: quais são os prós e os contras do tipo de dados JSON no MYSQL?

No MySQL 5.7, um novo tipo de dados para armazenamentoDados JSON no MySQL tabelas foram adicionadas. Obviamente será uma grande mudança no MySQL. Eles listaram alguns benefícios

Validação de documento - Apenas documentos JSON válidos podem ser armazenados em uma coluna JSON, para que você obtenha a validação automática de seus dados.

Acesso eficiente - Mais importante, quando você armazena um documento JSON em uma coluna JSON, ele não é armazenado como um valor de texto sem formatação. Em vez disso, ele é armazenado em um formato binário otimizado que permite acesso mais rápido aos membros do objeto e aos elementos da matriz.

atuação - Melhore o desempenho da sua consulta criando índices nos valores nas colunas JSON. Isso pode ser alcançado com "índices funcionais" em colunas virtuais.

Conveniência - A sintaxe embutida adicional para colunas JSON torna muito natural a integração de consultas de documentos em seu SQL. Por exemplo (features.feature é uma coluna JSON):SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;

UAU ! eles incluem alguns ótimos recursos. Agora é mais fácil manipular dados. Agora é possível armazenar dados mais complexos na coluna. Então, o MySQL agora tem sabor de NoSQL.

Agora posso imaginar uma consulta para dados JSON algo como

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

Então, posso armazenar enormes relações pequenas em poucos json colum? Isso é bom? Isso quebra a normalização.Se isso for possível, acho que agirá como NoSQL em uma coluna do MySQL. Eu realmente quero saber mais sobre esse recurso. Prós e contras do tipo de dados MySQL JSON.

questionAnswers(4)

yourAnswerToTheQuestion