Sobes.tech
Junior — Middle

Können Sie erklären, was der Datentyp JSONB in einer Datenbank ist und wie er sich vom normalen JSON unterscheidet?

sobes.tech KI

Antwort von AI

Der JSONB-Datentyp in einer Datenbank, zum Beispiel in PostgreSQL, stellt eine binäre Speicherung von JSON-Daten dar. Im Gegensatz zu normalem JSON, das Daten als Text speichert, speichert JSONB sie im Binärformat, was ermöglicht:

  • Schnellere Ausführung von Such- und Filteroperationen nach Inhalt.
  • Verwendung von Indizes zur Beschleunigung von Abfragen.
  • Beseitigung von Schlüsselduplikaten und Sortierung der Objekte.

Beispiel für die Verwendung in PostgreSQL:

CREATE TABLE beispiel (
    data JSONB
);

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

-- Suche nach Schlüssel mit Index
CREATE INDEX idx_data_name ON beispiel USING gin ((data -> 'name'));

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

Daher ist JSONB effizienter im Umgang mit JSON-Daten, wenn Leistung und komplexe Abfragen wichtig sind.