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