Назад к вопросам
Junior — Middle
89
Можете объяснить, что такое тип данных JSONB в базе данных и чем он отличается от обычного JSON?
Компании, где спрашивали
Rubytech
Ответ от нейросети
sobes.tech AI
Тип данных JSONB в базе данных, например в PostgreSQL, представляет собой бинарное хранение JSON-данных. В отличие от обычного JSON, который хранит данные в виде текста, JSONB хранит их в бинарном формате, что позволяет:
- Быстрее выполнять операции поиска и фильтрации по содержимому.
- Использовать индексы для ускорения запросов.
- Избавиться от дублирования ключей и упорядочить объекты.
Пример использования в PostgreSQL:
CREATE TABLE example (
data JSONB
);
INSERT INTO example (data) VALUES ('{"name": "Alice", "age": 30}');
-- Поиск по ключу с использованием индекса
CREATE INDEX idx_data_name ON example USING gin ((data -> 'name'));
SELECT * FROM example WHERE data ->> 'name' = 'Alice';
Таким образом, JSONB более эффективен для работы с JSON-данными, когда важна производительность и возможность сложных запросов.