0

我正在考虑存储数据的最有效方法,优先级是快速检索数据。

我有一组数据。以口袋妖怪卡为例

想象一下,在这个世界上,每张卡都有自己唯一的 ID,但每张卡可以有重复的属性。

我正在考虑创建 2 个表来存储此类数据

第一桌

存在于这个世界中的每张卡片的属性,具有唯一的 ID

第二张桌子

对于每个 ID ,它可以包含多行世界上所有卡片的唯一 ID。

总而言之,我正在考虑有一张桌子来存储属性,另一张桌子来存储拥有这张卡和该属性的人。

有没有更好的方法来存储和检索数据。打算用mysql。让我们接受它,因为最多只能有 1 亿张独特的卡片

4

1 回答 1

3

所以你有卡。卡片有属性。有些卡片具有相同的属性,我假设属性是复杂的实体,它们也有一些属性。

拥有 3 张桌子是最有意义的:一张用于卡片,谁拥有它们。一个用于所有独特的属性,然后是卡片和属性之间的多对多表。

您的选择查询具有双重联接。如果您向所有表的主键添加索引,它应该非常快。

Cards
  id
  owner
  name

Properties
  id
  value
  foo
  bar

Cards2Properties
  card_id [fk]
  property_id [fk]
于 2013-10-16T16:17:08.603 回答