Database 设计一个不需要庞大表的数据库

Database 设计一个不需要庞大表的数据库,database,Database,我正在设计的项目是为我工作的公司设计的,所以我不得不考虑一个类似的场景,可能会有大致相同的问题(如果它是一个问题的话) 对,让我们发明一项新的运动。“攻丝一致性”。一次最多可玩12人。计时器启动并持续2小时。玩家面前有一个数字键盘,他们必须在计时器启动10秒后点击它,然后每隔10秒点击一次,直到计时器达到2小时标记 我需要在这里设计的应用程序是记录这项相当枯燥的运动的统计数据。每一个水龙头都需要存储,并通过一些接口进行浏览。下面是关于设计数据库表的想法 PLAYER - PlayerID -

我正在设计的项目是为我工作的公司设计的,所以我不得不考虑一个类似的场景,可能会有大致相同的问题(如果它是一个问题的话)

对,让我们发明一项新的运动。“攻丝一致性”。一次最多可玩12人。计时器启动并持续2小时。玩家面前有一个数字键盘,他们必须在计时器启动10秒后点击它,然后每隔10秒点击一次,直到计时器达到2小时标记

我需要在这里设计的应用程序是记录这项相当枯燥的运动的统计数据。每一个水龙头都需要存储,并通过一些接口进行浏览。下面是关于设计数据库表的想法

PLAYER
 - PlayerID
 - Name
 - ...

GAME
 - GameId
 - PlayDate
- ...

GAME-PLAYER
 - GameId
 - PlayerId

TAPS
 - GameId
 - PlayerId
 - TapTime
 - ...
因此,您现在可能已经解决了问题。
每场比赛12名玩家x 800次点击=每场比赛“点击”表中10000行


如果这项运动流行起来,taps数据库将变得庞大。我是否可以使用一些时髦的db设计技巧来阻止这成为一个问题?

您可以根据游戏(比如游戏id)来共享数据。您可以在运行时为新游戏创建Taps表,并将其命名为gameid\u Taps


这样,您就不会有一个巨大的表,您的查询也会工作得更好。

您可以根据游戏(比如游戏id)共享数据。您可以在运行时为新游戏创建Taps表,并将其命名为gameid\u Taps


这样,您就不会有一个巨大的表,您的查询也会工作得更好。

点击一次,一行就完全可以了,10000行也不算多!DBS被设计用来存储更多的数据。根据您的查询,将所有12个或多或少并发的点击存储在一行可能是合理的(如果您总是同时访问它们)。如果您认为您的数据库将非常大,那么请聘请大型数据库设计和维护专家。一旦存在数十亿条或更多记录,许多决策都会影响数据库系统的可用性。数据库很难重构,你需要从一开始就有专家,而不是在5年后什么都不管用的时候。一次点击,一行完全可以,10000行完全不是一个大数目!DBS被设计用来存储更多的数据。根据您的查询,将所有12个或多或少并发的点击存储在一行可能是合理的(如果您总是同时访问它们)。如果您认为您的数据库将非常大,那么请聘请大型数据库设计和维护专家。一旦存在数十亿条或更多记录,许多决策都会影响数据库系统的可用性。数据库很难重构,你需要专家从一开始就开始,而不是在5年后什么都不好用的时候。建议切分(或分区)而不是新的表创建部分。建议切分(或分区)而不是新的表创建部分。