gpt4 book ai didi

mysql - 更好的 table 设计

转载 作者:行者123 更新时间:2023-11-29 14:43:09 25 4
gpt4 key购买 nike

我和其他一些人目前正在开发一款使用 MySQL 来保存角色的游戏。我们目前有一个表,用于保存角色信息(用户名、密码、ID、库存和元素存储箱)。

我们正在尝试寻找处理元素存储箱数据的最佳方法。截至目前,我们仅将其存储在两列中。角色的储物箱可容纳大约 300 个元素,每个元素的堆叠大小为整数最大值。我们将商品 ID 保存在一列中,将商品各自的金额保存在另一列中。

但是,我们一直在讨论这个设计,并一直在思考如何改进它。目前,我们有以下想法:

  • 创建一个新表仅用于项目存储。在此表中,有一列用于前面提到的用户表中的玩家 ID 号(主键),一列用于元素 ID 号,另一列用于金额

  • 创建一个新表仅用于项目存储。在此表中,有一列用于存储前面提到的用户表中的玩家 ID 号(主键),一列用于存储由分隔符分隔的所有 ID 号和金额。

  • 保持原样

我们预计将创建和使用大约 10,000 个帐户,并且很有可能创建更多帐户。我们只是不确定什么是最好的性能

最佳答案

在这种情况下,拥有 1 或 2 个表对可扩展性的影响比对性能的影响更大。更好的方法是拥有 3 个表。 1 代表玩家,1 代表元素,1 代表玩家-元素关系。

player
id name

item
id amount description

player_item
id_player id_item

拥有这个额外的项目表将允许您拥有项目类型。您将能够轻松添加项目的额外信息,例如描述,并且只需设置一次金额。

关于mysql - 更好的 table 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com