配列
まず、PostgresqlArraysドキュメントのこの重要なテキストを詳しく見てみましょう。
ヒント:配列はセットではありません。特定の配列要素を検索することは、データベースの設計ミスの兆候である可能性があります。配列要素となるアイテムごとに、行のある個別のテーブルを使用することを検討してください。これにより、検索が容易になり、多数の要素に対してより適切にスケーリングできる可能性があります。
ほとんどの場合、アレイを使用するべきではありません。
JSONB
JSONBは、DjangoでJSONFieldタイプとして使用できます。このフィールドは、配列フィールドよりもスケーラブルで柔軟性があり、より効率的に検索できます。ただし、JSONBフィールド内を常に検索している場合は、配列に関する上記のステートメントはJSONBにも同様に有効です。
今、あなたはあなたのシステムに何を持っていますか? JSONBフィールドを保持する配列。これは起こるのを待っている災害です。データを正規化してください。
要約
では、いつArrayFieldを使用するのですか?
まれに、その列を検索する必要がなく、その列を結合に使用する必要がない場合があります。