Sobes.tech
Junior — Middle

Дар кадҳо истифодаи навъи маълумоти JSONB дар базаи додаҳои PostgreSQL мувофиқ аст?

sobes.tech AI

Ҷавоб аз AI

Намуди маълумоти JSONB дар PostgreSQL дар ҳолатҳои зерин мувофиқ аст:

  • Вақте ки лозим аст, ки маълумоти ним-структурӣ ё динамикӣ нигоҳ дошта шавад, ки сохтораш метавонад дар тӯли вақт тағир ёбад.
  • Агар лозим бошад, ки дар дохили JSON саволҳо ва филтрҳо иҷро шаванд, зеро JSONB индексгузорӣ шудааст ва амалҳои самаранокро дастгирӣ мекунад.
  • Барои нигоҳдории объектҳои дарунсохт ва массивҳо бо дастрасии зуд ба унсурҳои алоҳида.
  • Вақте ки иҷрои хондан ва навсозии маълумот дар формати JSON муҳим аст.

Барои муқоиса, бо JSON оддӣ, JSONB маълумотҳоро дар формати бинарӣ нигоҳ медорад, ки имкон медиҳад, ки амалҳо тезтар иҷро шаванд ва индексҳо истифода шаванд.

Маслиҳат барои истифодаи JSONB:

CREATE TABLE маҳсулот (
  id serial PRIMARY KEY,
  specs jsonb
);

INSERT INTO маҳсулот (specs) VALUES ('{"color": "сурх", "size": "M"}');

-- Ҷустуҷӯи маҳсулот бо рангҳои сурх
SELECT * FROM маҳсулот WHERE specs->>'color' = 'сурх';

Аз ин рӯ, JSONB барои нигоҳдории чандир ва ҷустуҷӯи самараноки маълумоти JSON дар базаи додаҳо мувофиқ аст.