1

例:バルセロナ-マドリード4:1またはアーセナル-チェルシー2:0

4:1や2:0などを表すのに適したデータ型はどれですか?

頭に浮かぶオプションは次のとおりです。

  1. 2つのsmallints
  2. 小数点以下1桁(つまり4.1および2.0)
  3. 1ポイント(つまり、4,1と2,0)

他に何か?どうしましたか?誰がゲームに勝ったのか、そしてゴールの違いは何だったのかを簡単に取得できる必要があります。これにより、私は最初の選択肢になりがちですが、もっと多くのことがあるかもしれません(メモリの考慮事項...)?

4

1 に答える 1

2

スコアを2つの別々の値として保存するのがおそらく最善です。提案したさまざまなオプション間のメモリと時間の違いは、データベースが巨大でない限り、気にするには小さすぎます。2つの別々の値を使用すると、すべてのクエリで2つの値を解析するロジックを含める必要がなく、クエリを簡単に記述できます。

また、必要に応じて、スプレッド、勝者などの追加の列を含めることができます。テーブルに多くのデータを保持すると、更新/挿入は遅くなりますが、読み取りクエリはより単純で高速になります(勝者とスプレッドはすでに計算されているため)。これがスポーツのWebサイトなどの場合であるとすると、特定の日の読み取り(つまり、サイトへの訪問者)は、挿入/更新(プレイされた新しいゲーム)よりもはるかに多くなります。

于 2012-06-25T22:50:13.823 に答える