Mysql 更好的桌子设计
我和其他一些人目前正在开发一款游戏,将使用MySQL保存角色。目前,我们有一个保存字符信息(用户名、密码、id、库存和物品存储箱)的表 我们正试图找到处理物品存储箱数据的最佳方法。现在,我们只将其存储在两列中。一个角色的存储箱可以容纳大约300个项目,每个项目的堆栈大小可以达到一个整数的最大值。我们在一列中保存项目id,在另一列中保存项目各自的金额 然而,我们一直在讨论这个设计,并一直在思考改进它的方法。现在,我们有以下想法:Mysql 更好的桌子设计,mysql,sql,Mysql,Sql,我和其他一些人目前正在开发一款游戏,将使用MySQL保存角色。目前,我们有一个保存字符信息(用户名、密码、id、库存和物品存储箱)的表 我们正试图找到处理物品存储箱数据的最佳方法。现在,我们只将其存储在两列中。一个角色的存储箱可以容纳大约300个项目,每个项目的堆栈大小可以达到一个整数的最大值。我们在一列中保存项目id,在另一列中保存项目各自的金额 然而,我们一直在讨论这个设计,并一直在思考改进它的方法。现在,我们有以下想法: 仅为项目存储创建一个新表。在该表中,有一列用于前面提到的用户表中的
- 仅为项目存储创建一个新表。在该表中,有一列用于前面提到的用户表中的玩家id号(主键),一列用于项目id号,另一列用于金额
- 仅为项目存储创建一个新表。在该表中,有一列用于前面提到的用户表中的玩家id号(主键),一列用于所有id号和由分隔符分隔的金额
- 别管它了
我们预计将创建和使用约10000个帐户,很有可能创建更多帐户。我们只是不确定什么是最佳性能,在这种情况下,1或2个表在可伸缩性方面的影响大于性能。更好的方法是使用3个表。1个用于玩家,1个用于物品,1个用于关系玩家物品
player
id name
item
id amount description
player_item
id_player id_item
拥有这个额外的项目表将允许您拥有项目类型。您可以轻松地添加项目以及其他信息,例如描述,您只需设置一次金额。我建议第一个选项。创建逗号分隔的字段会给您带来问题。。。一般来说,你应该有一个单独的实体表(用户和存储箱)。快速阅读将非常有用。