sql >> データベース >  >> RDS >> PostgreSQL

ArrayField内のDjangoJSONField

    配列

    まず、PostgresqlArraysドキュメントのこの重要なテキストを詳しく見てみましょう。

    ヒント:配列はセットではありません。特定の配列要素を検索することは、データベースの設計ミスの兆候である可能性があります。配列要素となるアイテムごとに、行のある個別のテーブルを使用することを検討してください。これにより、検索が容易になり、多数の要素に対してより適切にスケーリングできる可能性があります。

    ほとんどの場合、アレイを使用するべきではありません。

    JSONB

    JSONBは、DjangoでJSONFieldタイプとして使用できます。このフィールドは、配列フィールドよりもスケーラブルで柔軟性があり、より効率的に検索できます。ただし、JSONBフィールド内を常に検索している場合は、配列に関する上記のステートメントはJSONBにも同様に有効です。

    今、あなたはあなたのシステムに何を持っていますか? JSONBフィールドを保持する配列。これは起こるのを待っている災害です。データを正規化してください。

    要約

    では、いつArrayFieldを使用するのですか?

    まれに、その列を検索する必要がなく、その列を結合に使用する必要がない場合があります。



    1. RSUメソッドを使用したMySQLGaleraクラスターのオンラインスキーマアップグレード

    2. mysqlテーブル名で(-)ダッシュを使用する

    3. SQLServer-更新時の内部結合

    4. 制約付きの列を削除する方法は?