【问题标题】:When should HStoreField be used instead of JSONField?什么时候应该使用 HStoreField 而不是 JSONField?
【发布时间】:2015-12-23 20:34:08
【问题描述】:
Django 1.8 提供 HStoreField,Django 1.9 将为 PostgreSQL 提供 JSONField(使用 jsonb)。
我的理解是hstore比json快,但是不允许嵌套,只允许字符串。
什么时候应该使用一个而不是另一个?应该优先选择一个吗?与 jsonb 相比,hstore 仍然是性能上的明显赢家吗?
【问题讨论】:
标签:
python
django
postgresql
hstore
jsonb
【解决方案1】:
如果您需要索引,如果您使用的是 9.4 或更高版本,请使用 jsonb,否则使用 hstore。如果两者都可用,真的没有理由更喜欢hstore 而不是jsonb。
如果您不需要索引和快速处理,而您只是存储和检索经过验证的数据,请使用纯 json。与其他两个选项不同,这会保留重复的键、格式、键顺序等。