EMZETT.
Giriş yap

SQL veritabanlarında JSON

Kısaca: Modern SQL veritabanları JSON belgelerini sütunlarda saklayabilir, sorgulayabilir ve indeksleyebilir. Böylece sabit tablolar esnek verilerle karıştırılır.

Biraz daha ayrıntılı: PostgreSQL (json, jsonb), MySQL (JSON) ve SQLite (JSON işlevleri), belgeden alanları okumak ve süzmek için işleçler sunar.

Ayrıntılı

  • PostgreSQL: jsonb ikili saklar, sorgulaması daha hızlıdır ve indekslenebilir (GIN). veri->'ad' JSON, veri->>'ad' metin döndürür, veri @> '{"tur":"a"}' kapsama denetler.
  • Ne zaman mantıklı: Nadir kullanılan veya çok çeşitli öznitelikler, arayüzlerden ham veriler, ayarlar, alanları değişen olaylar.
  • Ne zaman değil: Sık süzdüğün, birleştirdiğin ve tutarlılık gereken veriler için. JSON’da yabancı anahtar, tür denetimi ve kısıtlamalar yoktur.
  • Uzlaşma: Önemli alanlar gerçek sütun, gerisi JSON. Üretilmiş sütunlar veya JSON ifadelerindeki indeksler sorguları hızlandırır.
  • Tuzaklar: Bir alanı değiştirmek çoğu zaman tüm belgeyi yeniden yazar. Büyük JSON değerleri tabloları yavaşlatır.
  • Alternatif: Bir belge veritabanı, bkz. NoSQL’e genel bakış.

Ayrıca bak: PostgreSQL indeksleri