Sobes.tech
Junior — Middle

¿Puede explicar qué es el tipo de datos JSONB en una base de datos y en qué se diferencia del JSON normal?

sobes.tech AI

Respuesta de la IA

El tipo de datos JSONB en una base de datos, por ejemplo en PostgreSQL, representa un almacenamiento binario de datos JSON. A diferencia del JSON normal, que almacena datos en forma de texto, JSONB los guarda en formato binario, lo que permite:

  • Realizar operaciones de búsqueda y filtrado más rápidamente por contenido.
  • Utilizar índices para acelerar las consultas.
  • Eliminar duplicados de claves y ordenar los objetos.

Ejemplo de uso en PostgreSQL:

CREATE TABLE ejemplo (
    data JSONB
);

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

-- Búsqueda por clave usando índice
CREATE INDEX idx_data_name ON ejemplo USING gin ((data -> 'name'));

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

Por lo tanto, JSONB es más eficiente para trabajar con datos JSON cuando la rendimiento y la capacidad de realizar consultas complejas son importantes.