Junior — Middle
Puteți explica ce este tipul de date JSONB într-o bază de date și în ce se diferențiază de JSON-ul obișnuit?
sobes.tech AI
Răspuns de la AI
Tipul de date JSONB dintr-o bază de date, de exemplu în PostgreSQL, reprezintă o stocare binară a datelor JSON. Spre deosebire de JSON-ul obișnuit, care stochează datele sub formă de text, JSONB le stochează în format binar, ceea ce permite:
- efectuarea mai rapidă a operațiunilor de căutare și filtrare după conținut.
- utilizarea indexurilor pentru accelerarea interogărilor.
- eliminarea duplicatelor de chei și ordonarea obiectelor.
Exemplu de utilizare în PostgreSQL:
CREATE TABLE exemplu (
data JSONB
);
INSERT INTO exemplu (data) VALUES ('{"name": "Alice", "age": 30}');
-- Căutare după cheie folosind index
CREATE INDEX idx_data_name ON exemplu USING gin ((data -> 'name'));
SELECT * FROM exemplu WHERE data ->> 'name' = 'Alice';
Astfel, JSONB este mai eficient pentru lucrul cu date JSON atunci când performanța și posibilitatea de a realiza interogări complexe sunt importante.