2015-09-25 16 views
11

Django 1.8はHStoreFieldを提供し、Django 1.9はPostgreSQL用にJSONField(jsonbを使用)を提供します。JSONFieldの代わりにHStoreFieldを使用する必要があるのはいつですか?

私の理解では、hstoreのJSONよりも高速ですが、入れ子にはできませんし、文字列だけを可能にするということです。

いつもう1つを使用する必要がありますか?一方は他方より優先されるべきですか? hstoreはまだjsonbと比べてパフォーマンスがはるかに優れていますか?

答えて

10

あなたはインデックスが必要な場合は、9.4またはそれ以降にしている場合は、jsonbを使用するが、それ以外の場合はhstore。両方が使用可能な場合jsonbhstoreを好む理由は本当にありません。

インデックス処理と高速処理が不要で、検証済みのデータを格納して取得するだけの場合は、jsonを使用してください。他の2つのオプションとは異なり、これは重複したキー、書式、キーの順序などを保持します。

関連する問題