Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է JSONB տվյալների տիպը տվյալների բազայում և ինչով է այն տարբերվում սովորական JSON-ից։

sobes.tech AI

Պատասխան AI-ից

JSONB տվյալների տիպը տվյալների բազայում, օրինակ PostgreSQL-ում, ներկայացնում է JSON տվյալների բինարային պահպանումը: Բացարձակ տարբերակով սովորական JSON-ից, որը պահում է տվյալները տեքստի տեսքով, JSONB-ն պահում է դրանք բինարային ֆորմատում, ինչը թույլ է տալիս՝

  • ավելի արագ որոնում և ֆիլտրում գործողություններ բովանդակության վրա:
  • օգտագործել ինդեքսներ հարցումների արագացման համար:
  • վերացնել կրկնվող բանալիները և դասավորել օբյեկտները:

Օրինակ PostgreSQL-ում:

CREATE TABLE օրինակ (
    data JSONB
);

INSERT INTO օրինակ (data) VALUES ('{"name": "Alice", "age": 30}');

-- Բանալի վրա որոնում ինդեքս օգտագործելով
CREATE INDEX idx_data_name ON օրինակ USING gin ((data -> 'name'));

SELECT * FROM օրինակ WHERE data ->> 'name' = 'Alice';

Այսպիսով, JSONB-ը ավելի արդյունավետ է JSON տվյալների հետ աշխատելու համար, երբ կարևոր է կատարողականությունը և բարդ հարցումների հնարավորությունը։