Depende de lo que quiera decir cuando dice "tipo de datos". Algunas bases de datos como PostgreSQL tienen un tipo de datos JSON que permite la búsqueda de texto completo, un mecanismo de almacenamiento binario, indexación y un conjunto completo de operadores para acceder a los datos. María aún no tiene eso. El tipo de datos específicamente está siendo rastreado por MDEV-9144 .
Aun así, trae un tipo muy limitado a MySQL, de uno de los mantenedores de errores,
El tipo de datos JSON contradice directamente el estándar SQL, es decir, que las funciones JSON_ * toman una cadena como argumento. Además, MariaDB en cuanto a velocidad
no necesita JSON binario, de acuerdo con nuestros puntos de referencia, nuestro analizador JSON es tan rápido en texto JSON como MySQL en JSON binario. Es decir, en MariaDB uno podría VARCHAR o TEXTO para JSON. Si se necesita una validación, se puede hacer con una restricción CHECK:
my_json_column TEXT CHECK (JSON_VALID(my_json_column))
Sin embargo, agregaremos "tipo" JSON para compatibilidad con MySQL.
Según mi lectura, ese no es exactamente el punto de JSON binario, consultemos los documentos de MySQL
El formato binario está estructurado para permitir que el servidor busque subobjetos o valores anidados directamente por clave o índice de matriz sin leer todos los valores anteriores o posteriores en el documento.
Una vez más, PostgreSQLjsonb
hace mucho más que eso.
Los datos de jsonb se almacenan en un formato binario descompuesto que hace que la entrada sea un poco más lenta debido a la sobrecarga de conversión agregada, pero es significativamente más rápido de procesar, ya que no se necesita volver a analizar. jsonb también es compatible con la indexación, lo que puede ser una ventaja significativa.
tldr; Maria DB todavía no tiene un tipo JSON. Incluso cuando obtiene el "tipo", es solo una envoltura delgada sobre una validación de texto (como el json
tipo de PostgreSQL ). No hay planes para un tipo JSON binario (como PostgreSQL jsonb
) porque los desarrolladores aparentemente no entienden las ventajas.