UserID に関連付けられた ID のリストを格納するテーブルの推奨される方法を知りたいです。
すべての ID のシリアル化された配列を格納する 1 つのフィールドが必要ですか (UserID ごとに 1 行)
または、すべてのプレーヤーのすべての ID に対して 1 行ですか? 答えは明確ですか、それともそのような決定を下す際に考慮すべき要因はありますか?
最良の選択を説明するのに役立つことを願っています。
UserID に関連付けられた ID のリストを格納するテーブルの推奨される方法を知りたいです。
すべての ID のシリアル化された配列を格納する 1 つのフィールドが必要ですか (UserID ごとに 1 行)
または、すべてのプレーヤーのすべての ID に対して 1 行ですか? 答えは明確ですか、それともそのような決定を下す際に考慮すべき要因はありますか?
最良の選択を説明するのに役立つことを願っています。
毎回またはほとんどの場合、ID のリスト全体を取得する場合、または ID のリストが短い場合は、シリアル化しても問題ありません (とにかくお勧めしませんが)。
ただし、ID のリスト内の ID を制約として使用してユーザーを検索する必要がある場合は、インデックスを作成できません。
最善の方法は、多対多の関係を格納する別のテーブルを用意することです (これは、私があなたが望んでいることだと思います)。1 対多の関係がある場合は、関係を参照する方法を逆にして、 IDs を含むテーブルに user_id 列を追加する必要があります。
すべてのプレイヤーのすべての ID に対して 1 つの行を保持します。私にとって、それはより管理しやすく、クリーンなアプローチです。しかし、ここでいくつのレコードを見ていますか?