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:
jsonbikili 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