【问题标题】:Best practices for "Semi-temporary" tables“半临时”表的最佳实践
【发布时间】:2016-07-09 19:48:01
【问题描述】:

我正在制作一个多人游戏(回合制)应用,需要在比赛期间在用户之间交换比赛数据。比赛结束后,回合数据将无用。

处理这些类型的场景有哪些最佳做法。

我想到了:

  • 创建在比赛期间存在的表格,其命名约定为“Round”+ MatchID。因此,每个实例化匹配都会有 1 个表。比赛结束时,该表将被删除。

  • 只有 1 个圆桌会议,在比赛结束时,删除 MatchId = 已完成比赛的所有行。

我不确定哪种方法的性能最好。有没有关于这个主题的指导?另外,我不确定会调用哪种方案 1。我知道术语“临时”和“瞬态”是为其他用例保留的。

【问题讨论】:

  • 动态数据库设计是不寻常的,应该避免。使用一张桌子。
  • 您可以为比赛ID添加一列,并在比赛结束时进行清理。

标签: sql database-performance temp-tables


【解决方案1】:

一般来说,这样的临时表可能不是最好的主意。

更好的解决方案是为所有匹配项设置一个表。您可以使用特定匹配的键向表中插入行、修改它们等等。

了解比赛期间发生的事情的历史记录会非常方便。但是,如果您想删除给定匹配的行,您可以在匹配结束时或其他方便的时间这样做。

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多