MySQL数据库 - 优化相同的多个字段

时间:2013-02-24 03:00:01

标签: mysql optimization field

最近我创建了一个成就系统,当某个事情成就时,将achievement1这样的字段设置为int 1,问题是我们有超过100个字段achievement1,{{1 },achievement2等......

所以我的问题是如何优化这个?我正在考虑将一个字符串存储在一个字段中,对于未实现的成就将其存储为achievement3 0,将完成后的字符串存储为1。但是,这不会更糟,因为我必须每次更新一个非常长的字符串而不是1个整数吗?

我到处寻找答案,但我发现没有用。

1 个答案:

答案 0 :(得分:1)

您可以创建一个存储每个用户成就的表(假设它们以某种方式与用户相关)。可以有UserID的外键,然后是成就编号的整数值。因此(15,1)表示ID为15的用户已完成Achievement1。如果您想查找用户已完成的所有成就,请执行以下操作:

SELECT achievementNumber FROM tblAchievements WHERE UserID = 15

“成就”的文字实际上是随意的,重要的是你如何使用它。