何时应该使用HStoreField而不是JSONField?

时间:2015-09-25 23:03:56

标签: python django postgresql hstore jsonb

Django 1.8提供HStoreField,Django 1.9将为PostgreSQL提供JSONField(使用jsonb)。

我的理解是hstore比json快,但不允许嵌套,只允许字符串。

何时应该使用另一个?一个人应该优先于另一个吗?与jsonb相比,hstore仍然是性能的明显赢家吗?

1 个答案:

答案 0 :(得分:13)

如果您需要建立索引,请使用jsonb(如果您使用的是9.4或更高版本,否则使用hstore。如果两者都可用,则没有理由更喜欢hstore而不是jsonb

如果您不需要索引和快速处理,并且只是存储和检索经过验证的数据,请使用普通json。与其他两个选项不同,它保留了重复键,格式,键排序等。