Database 1:1的关系。是否拆分为多个表?糟糕?
我正在开发一款手机游戏,我乐观地希望我能拥有数百万玩家 我创建了一个users表,目前大约有8列(即userid、username、password、last_sign等) 对于每个用户,我还需要记录他们在游戏中拥有的货币数量(如黄金、白银、宝石等) 这是一种1:1的关系(用户只有1个值来定义他们拥有多少黄金) 我不是数据库专家(这就是我在这里发帖的原因)。我担心,如果我在users表中添加gold、silver、gems等作为新行,那么users表每秒将被大量的查询所困扰。每次游戏中有人发现更多的金子,更多的银子,登录,创建一个帐户。。。将访问和/或更新用户表 在一个名为“资源”的新表中添加gold、silver和gems作为列会更明智吗?该表包含以下列:userid、gold、silver和gems。这个新表的行数将与用户表的行数完全相同,因为用户和资源之间存在1:1的关系。我想知道这些查询是否会更快,因为数据库数据是分开的,并且不是所有查询都会进入同一个表 显然,对我来说,这似乎是更好的把它放在一个表中,因为他们是1:1。。。。但将大部分奥运会数据放在一张表中似乎也是个坏主意 谢谢你给我的建议Database 1:1的关系。是否拆分为多个表?糟糕?,database,postgresql,database-design,Database,Postgresql,Database Design,我正在开发一款手机游戏,我乐观地希望我能拥有数百万玩家 我创建了一个users表,目前大约有8列(即userid、username、password、last_sign等) 对于每个用户,我还需要记录他们在游戏中拥有的货币数量(如黄金、白银、宝石等) 这是一种1:1的关系(用户只有1个值来定义他们拥有多少黄金) 我不是数据库专家(这就是我在这里发帖的原因)。我担心,如果我在users表中添加gold、silver、gems等作为新行,那么users表每秒将被大量的查询所困扰。每次游戏中有人发现更
Ryan这实际上取决于你的游戏设计、你的数据库有多大以及你将来如何扩展数据库。我会将资源放在一个单独的表中,外键指向用户id,因为:
- 在更新频繁更新的部件时,您将进行较小的写入,而不会重写修改较少的用户数据
- 它使审核用户数据的更改变得更容易