Back to questions
Junior — Middle
50
Какое главное отличие между типами данных JSON и JSONB в базе данных PostgreSQL?
Companies where asked
ООО Корпорация ЗНАК
Answer from AI
sobes.tech AI
Главное отличие между типами данных JSON и JSONB в PostgreSQL заключается в способе хранения и обработки данных:
- JSON хранит данные в виде текстовой строки, как есть. При каждом запросе данные парсятся заново, что может замедлять операции.
- JSONB (Binary JSON) хранит данные в бинарном формате, что позволяет быстрее выполнять операции поиска, индексации и фильтрации.
JSONB поддерживает индексы, что улучшает производительность запросов, а также обеспечивает более эффективное хранение за счёт удаления пробелов и упорядочивания ключей.
Пример использования JSONB:
CREATE TABLE example (
data JSONB
);
INSERT INTO example VALUES ('{"name": "Alice", "age": 30}');
SELECT * FROM example WHERE data->>'name' = 'Alice';
Если важна производительность и частые запросы к JSON-данным, лучше использовать JSONB. Если же нужно сохранить исходный формат и порядок, подходит JSON.