Встречается на собеседованиях • сегодня
В чем разница между JSON и JSONB в PostgreSQL
Основное отличие между JSON и JSONB в PostgreSQL заключается в хранении и обработке данных:
-
JSON хранится как текст в исходном формате, включая пробелы и порядок ключей. Проверяется только на валидность при вставке. Занимает больше места и медленнее работает при операциях.
-
JSONB хранится в бинарном формате (оптимизированном), без пробелов и с сортировкой ключей. Поддерживает индексы, работает быстрее при запросах и занимает меньше места (но может быть чуть медленнее при вставке из-за преобразования).
Пример:
sql
-- Создание таблицы с JSON и JSONB
CREATE TABLE test_data (
id SERIAL PRIMARY KEY,
data_json JSON,
data_jsonb JSONB
);
-- Вставка данных
INSERT INTO test_data (data_json, data_jsonb)
VALUES ('{"name": "Alice", "age": 30}', '{"name": "Alice", "age": 30}');
-- Запрос с условием (JSONB работает эффективнее)
SELECT * FROM test_data WHERE data_jsonb @> '{"age": 30}';Когда использовать:
JSON— если важна точная сохранность формата (пробелы, порядок ключей).JSONB— для большинства случаев, особенно при частых запросах и операциях с данными.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы