私は何百万人ものプレイヤーがいると楽観的に望んでいるモバイルゲームを作成しています。1:1リレーションシップ。 1つ以上のテーブルに分割しますか?悪い?
私は現在、私はまた、ゲーム内通貨の量を記録する必要がありますすべてのユーザーのためにおよそ8列(すなわち。ユーザID、ユーザ名、パスワード、last_signin、など)
を持つusersテーブルを作成しました彼らは持っている(すなわち、金、銀、宝石など)。
これは1対1の関係です(ユーザーは金の金額を定義する1つの値しか持っていません)。
私はデータベースの専門家ではありません(私はここに掲載しています)。私は金、銀、宝石などをユーザーテーブルに新しい行として追加した場合、ユーザーテーブルが1秒あたりの狂った量のクエリで叩かれることになります。ゲーム内の誰かが、より多くの金、銀色、ログインしてアカウントを作成するたびに、ユーザーテーブルにアクセスおよび/または更新されます。
userid、gold、silver、gemsという列を持つ "resources"という新しいテーブルに、金、銀、宝石を列として追加するほうが賢明でしょうか。この新しいテーブルは、ユーザーとリソースの間に1対1の関係があるため、ユーザーテーブルとまったく同じ行数を持ちます。私は、データベースのデータが分割され、すべてのクエリが同じテーブルに行くわけではないので、それらのクエリが高速であるかどうか疑問に思っています。
1:1 ....なので、明らかに私は1つのテーブルにすべてを入れる方が良いようですが、ゲームデータの大半を1つのテーブルに入れることも悪い考えでした。
アドバイスをいただきありがとうございます!
ライアン