2015-09-25 3 views
11

Django 1.8 обеспечивает HStoreField и Django 1.9 предоставит JSONField (который использует jsonb) для PostgreSQL.Когда следует использовать HStoreField вместо JSONField?

Я понимаю, что hstore быстрее, чем json, но не допускает вложенности и допускает только строки.

Когда нужно использовать другой? Должен ли быть предпочтительнее другого? Является ли hstore по-прежнему явным победителем в производительности по сравнению с jsonb?

ответ

10

Если вам нужна индексация, используйте jsonb, если вы на 9.4 или новее, в противном случае hstore. Там действительно нет причин предпочитать hstore за jsonb, если оба доступны.

Если вам не нужна индексация и быстрая обработка, и вы просто сохраняете и извлекаете проверенные данные, используйте обычный json. В отличие от двух других вариантов, это сохраняет повторяющиеся ключи, форматирование, порядок клавиш и т. Д.

Смежные вопросы