什么时候应该使用 HStoreField 而不是 JSONField?
When should HStoreField be used instead of JSONField?
Django 1.8 提供 HStoreField,Django 1.9 将为 PostgreSQL 提供 JSONField(使用 jsonb)。
我的理解是hstore比json快,但是不允许嵌套,只允许字符串。
什么时候应该用一个代替另一个?应该优先选择一个吗?与 jsonb 相比,hstore 仍然是性能的明显赢家吗?
如果您需要索引,如果您使用的是 9.4 或更新版本,请使用 jsonb
,否则使用 hstore
。如果两者都可用,那么确实没有理由更喜欢 hstore
而不是 jsonb
。
如果您不需要索引和快速处理,而只是存储和检索经过验证的数据,请使用普通 json
。与其他两个选项不同,这会保留重复键、格式、键顺序等。
Django 1.8 提供 HStoreField,Django 1.9 将为 PostgreSQL 提供 JSONField(使用 jsonb)。
我的理解是hstore比json快,但是不允许嵌套,只允许字符串。
什么时候应该用一个代替另一个?应该优先选择一个吗?与 jsonb 相比,hstore 仍然是性能的明显赢家吗?
如果您需要索引,如果您使用的是 9.4 或更新版本,请使用 jsonb
,否则使用 hstore
。如果两者都可用,那么确实没有理由更喜欢 hstore
而不是 jsonb
。
如果您不需要索引和快速处理,而只是存储和检索经过验证的数据,请使用普通 json
。与其他两个选项不同,这会保留重复键、格式、键顺序等。