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 данни, когато важна е производителността и възможността за сложни заявки.