"Veri türü" derken ne demek istediğinize bağlıdır. PostgreSQL gibi bazı veritabanlarında, tam metin aramasına, ikili bir depolama mekanizmasına, dizine eklemeye ve tam işleç grubunun verilere erişmesine izin veren bir JSON veri türü vardır. Maria henüz buna sahip değil. Veri tipi özellikle MDEV-9144 tarafından izlenmektedir .
Yine de, hata koruyucularından birinden MySQL'e çok sınırlı bir tür getiriyor ,
JSON veri türü, JSON_ * işlevlerinin bir dizeyi bağımsız değişken olarak aldığını söyleyen SQL standardıyla doğrudan çelişir. Ayrıca, hız açısından
MariaDB'nin ikili JSON'a ihtiyacı yoktur, kıyaslamalarımıza göre, JSON ayrıştırıcımız JSON metninde ikili JSON'daki MySQL kadar hızlıdır. Yani, MariaDB'de biri JSON için VARCHAR veya TEXT olabilir. Doğrulama gerekiyorsa, bunu CHECK kısıtlamasıyla yapabilirsiniz:
my_json_column TEXT CHECK (JSON_VALID(my_json_column))
Yine de MySQL uyumluluğu için JSON "type" ekleyeceğiz.
Benim okumaya göre, bu tam olarak ikili JSON'un noktası değil, MySQL belgelerine bakalım
İkili biçim, sunucunun alt nesneleri veya iç içe değerleri, belgede önce veya sonra tüm değerleri okumadan doğrudan anahtar veya dizi diziniyle arayabilmesini sağlamak için yapılandırılmıştır.
Yine, PostgreSQL enjsonb
does çok daha fazla.
jsonb verileri, eklenen dönüştürme yükü nedeniyle girişi biraz yavaşlatan, yeniden işlemeye gerek olmadığından işlemek için önemli ölçüde daha hızlı olan ayrıştırılmış bir ikili biçimde saklanır. jsonb ayrıca önemli bir avantaj olabilecek endekslemeyi de destekler.
TLDR; Maria DB henüz bir JSON tipine sahip değil. "Türü" aldığında bile, metin doğrulama (PostgreSQL'in json
türü gibi ) üzerinde ince bir sargıdır . İkili bir JSON türü (PostgreSQL gibi jsonb
) için bir plan yoktur, çünkü geliştiriciler görünüşte avantajları anlamıyorlar.