Sobes.tech
Junior — Middle

Puoi spiegare cos'è il tipo di dato JSONB in un database e come si differenzia dal JSON normale?

sobes.tech AI

Risposta dell'AI

Il tipo di dato JSONB in un database, ad esempio in PostgreSQL, rappresenta una memorizzazione binaria dei dati JSON. A differenza del JSON normale, che memorizza i dati come testo, JSONB li memorizza in formato binario, consentendo:

  • operazioni di ricerca e filtraggio più rapide per contenuto.
  • l'uso di indici per accelerare le query.
  • eliminare duplicati di chiavi e ordinare gli oggetti.

Esempio di utilizzo in PostgreSQL:

CREATE TABLE esempio (
    data JSONB
);

INSERT INTO esempio (data) VALUES ('{"name": "Alice", "age": 30}');

-- Ricerca per chiave usando indice
CREATE INDEX idx_data_name ON esempio USING gin ((data -> 'name'));

SELECT * FROM esempio WHERE data ->> 'name' = 'Alice';

Pertanto, JSONB è più efficiente per lavorare con dati JSON quando la performance e la possibilità di query complesse sono importanti.