Sobes.tech
Junior — Middle

Pode explicar o que é o tipo de dados JSONB numa base de dados e como ele difere do JSON normal?

sobes.tech IA

Resposta da IA

O tipo de dados JSONB numa base de dados, por exemplo no PostgreSQL, representa um armazenamento binário de dados JSON. Ao contrário do JSON normal, que armazena dados como texto, o JSONB guarda-os em formato binário, o que permite:

  • Executar operações de pesquisa e filtragem mais rapidamente por conteúdo.
  • Utilizar índices para acelerar as consultas.
  • Eliminar duplicados de chaves e ordenar objetos.

Exemplo de uso no PostgreSQL:

CREATE TABLE exemplo (
    data JSONB
);

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

-- Pesquisa por chave usando índice
CREATE INDEX idx_data_name ON exemplo USING gin ((data -> 'name'));

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

Assim, o JSONB é mais eficiente para trabalhar com dados JSON quando a performance e a capacidade de realizar consultas complexas são importantes.