我有一个名为游戏的表(由 int 唯一)。
我有一个名为 members 的表(按用户名唯一)。
在每场比赛中,一次最多可以有 6 名成员参与。
但是,成员可以退出游戏 - 但我仍然需要记录他们参与该游戏的记录。
我需要做以下单独的搜索:
会员的活跃游戏。
为会员退出游戏。
在游戏中搜索一个空位(即没有由成员填充的位置)。
最好的表结构是什么?我应该为会员输入一个文本字段,其中包含所有已退出游戏的列表,并用逗号分隔?(我可以看到的一个问题是我最终将需要这些游戏的游戏信息,因此我随后需要在游戏表上为这些游戏编号中的每一个进行单独搜索。这对于服务器来说似乎真的很慢。 )
在游戏中,我是否应该有 6 个文本字段,例如 SLOT1、SLOT2 等以及当前玩家的用户名?但同样,辞职的成员呢?
现在我的问题的主要部分(这引起了上面的所有混乱):
我将如何在我的表上设置我的索引?
当我进行搜索时,我会在游戏中查看 SLOTS1 等,看看是否有任何与玩家用户名匹配的内容。所以这是一个 6 次 ORed 搜索。我该怎么做才能针对这些操作优化数据库上的索引?
那么根据我对每场比赛的退会成员怎么做,那我该怎么做索引呢?