Sobes.tech
Junior — Middle

Ar galite paaiškinti, kas yra JSONB duomenų tipas duomenų bazėje ir kaip jis skiriasi nuo įprasto JSON?

sobes.tech AI

Atsakymas iš AI

JSONB duomenų tipas duomenų bazėje, pavyzdžiui, PostgreSQL, reiškia dvejetainį JSON duomenų saugojimą. Skirtingai nuo įprasto JSON, kuris saugo duomenis kaip tekstą, JSONB juos saugo dvejetainiu formatu, leidžiančiu:

  • greičiau vykdyti paieškos ir filtravimo operacijas pagal turinį.
  • naudoti indeksus užklausų pagreitinimui.
  • pašalinti raktų dubliavimą ir sutvarkyti objektus.

Pavyzdys naudojimo PostgreSQL:

CREATE TABLE pavyzdys (
    data JSONB
);

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

-- Paieška pagal raktą naudojant indeksą
CREATE INDEX idx_data_name ON pavyzdys USING gin ((data -> 'name'));

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

Taip JSONB yra efektyvesnis dirbant su JSON duomenimis, kai svarbus našumas ir sudėtingų užklausų galimybė.