什么是在数据库中表示体育结果的正确方法

时间:2012-06-25 22:42:57

标签: database types decimal point representation

e.g。 巴塞罗那 - 马德里4:1 阿森纳 - 切尔西2:0

哪种数据类型可以表示4:1和2:0等?

想到的选项是:

  1. 两个小点
  2. 一位小数(即4.1和2.0)
  3. 一点(即4,1和2,0)
  4. 还有别的吗?你过得怎么样?必须很容易找回谁赢得比赛以及目标的差异,这使我倾向于第一选择,但也许还有更多(记忆考虑......)?

1 个答案:

答案 0 :(得分:2)

最好将分数存储为两个单独的值。除非您的数据库是巨大的,否则您建议的不同选项之间的内存和时间差异太小而无法关注。两个单独的值可以更轻松地编写查询,而无需包含解析每个查询中的两个值的逻辑。

此外,如果您愿意,还可以为点差,赢家等添加其他列。在表中保留更多数据会使更新/插入更慢,但更简单,更快速的读取查询(因为已经计算了获胜者和点差)。假设这是一个体育网站或类似的东西,你可能会在给定的一天有更多的阅读(即网站访问者),而不是插入/更新(播放的新游戏)。