Sobes.tech
Junior — Middle
76

Care este diferența principală între tipurile de date JSON și JSONB în baza de date PostgreSQL?

Companiile au fost întrebate
ООО Корпорация ЗНАК

Răspuns de la 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.