在mySql数据库中存储大量数据库信息,即成果/收藏品

在mySql数据库中存储大量数据库信息,即成果/收藏品,mysql,database,multiplayer,Mysql,Database,Multiplayer,多人游戏中存储大量数据的最佳方式是什么我有一个数据库来存储重要信息,如登录信息和联系方式,但在记录库存项目和成就时,我遇到了困难。我对数据库相当陌生,我能想到的唯一解决方案是为每个项目创建id并存储玩家拥有的项目id,或者在表中为每个项目/成就创建一列。 游戏中还可能有一个可收集的卡片元素,需要解决方案来存储该元素 账户拥有的卡。最好的办法是什么 编辑:更具体地说,我会用卡片来解释;假设游戏包含300张独特的卡,玩家在玩游戏时收集这些卡,我如何存储玩家拥有的卡的数据,记住这些卡不是以线性方式收集

多人游戏中存储大量数据的最佳方式是什么我有一个数据库来存储重要信息,如登录信息和联系方式,但在记录库存项目和成就时,我遇到了困难。我对数据库相当陌生,我能想到的唯一解决方案是为每个项目创建id并存储玩家拥有的项目id,或者在表中为每个项目/成就创建一列。 游戏中还可能有一个可收集的卡片元素,需要解决方案来存储该元素 账户拥有的卡。最好的办法是什么

编辑:更具体地说,我会用卡片来解释;假设游戏包含300张独特的卡,玩家在玩游戏时收集这些卡,我如何存储玩家拥有的卡的数据,记住这些卡不是以线性方式收集的,即玩家随机解锁卡,并且可以有每张卡的多个副本


编辑2:为了避免任何混乱,数据库不需要在每张卡上存储信息,它只需要保存一个可以通过php访问的id,以解锁登录时的项目。

听起来你在谈论一种关系(可能是几种关系)

假设你有

Players
--------
player_id, name, etc etc
您可能想添加

Achievements
--------
achievement_id, description, type,
然后用绳子把它们绑在一起

Player_achievements
--------
player_id, achievement_id
Player_cards
--------
player_id, card_id, quantity
根据复杂程度的不同,如果您有多种类型,您可能需要一个类型查找表(卡片、成就、收藏品等),或者如果每种类型上的数据不同,您可能希望将它们放入自己的表中

编辑:看到您的编辑,您提到您可以只在数据库中存储一个ID,并在php代码中保留300张卡中每一张卡的相关信息?不,我不会那样做。我会在数据库中存储卡信息和任何规则/权限/任何内容。然后您可以添加、更改等,而无需更改代码。比如:

Cards
--------
card_id, description, bonus, damage, damage_type, i_have_no_idea, im_making_these_up
然后用绳子把它们绑在一起

Player_achievements
--------
player_id, achievement_id
Player_cards
--------
player_id, card_id, quantity

注:我增加了玩家卡的数量,因为你提到一个玩家可以有多张。

你能更具体一点吗?有很多不同的解决方案,但如果我们对您要做的事情有更好的了解,那么将最容易帮助您选择一个。编辑为更具体。“大量”是几十亿的成就?虽然我是MySql新手,但我如何存储id,因为一个帐户最多可以有300个id,如何存储所有id并访问它们,我创建了两个表,一个用于卡,一个用于玩家的详细信息,但是我如何存储玩家拥有的实际id,而不必制作300列。这是我描述的第三个表。它有玩家id和卡id,因此某个玩家在该表中可能有300条记录,每张卡一条记录。通过
从player_卡中选择card_id,其中player_id=