Python 什么时候应该使用HStoreField而不是JSONField?

Python 什么时候应该使用HStoreField而不是JSONField?,python,django,postgresql,hstore,jsonb,Python,Django,Postgresql,Hstore,Jsonb,Django 1.8为PostgreSQL提供了HStoreField,Django 1.9将为PostgreSQL提供JSONField(使用jsonb) 我的理解是,hstore比json快,但不允许嵌套,只允许字符串 什么时候应该使用一个而不是另一个?一个应该优先于另一个吗?与jsonb相比,hstore在性能上是否仍然是明显的赢家?如果您需要索引,请使用jsonb如果您使用的是9.4或更高版本,否则请使用hstore。如果两者都可用,那么没有理由选择hstore而不是jsonb 如果您不

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

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


什么时候应该使用一个而不是另一个?一个应该优先于另一个吗?与jsonb相比,hstore在性能上是否仍然是明显的赢家?

如果您需要索引,请使用
jsonb
如果您使用的是9.4或更高版本,否则请使用
hstore
。如果两者都可用,那么没有理由选择
hstore
而不是
jsonb

如果您不需要索引和快速处理,而只需要存储和检索经过验证的数据,请使用纯
json
。与其他两个选项不同,此选项保留重复的键、格式、键顺序等