【发布时间】:2011-12-09 05:18:08
【问题描述】:
我已经为此苦苦挣扎了一段时间,现在试图弄清楚如何最有效地做到这一点。
问题如下。我在数据库中有要针对特定年龄组销售的商品,例如 ages 10 to 20 或 ages 16+,我需要能够进行查询,例如 find item that is for 17 year old
这是我最好的两个想法(但我都不喜欢,因为我认为它们都效率低下)。
有一个 csv 列,其中包含
10-20和16+之类的值,检索整个列表并对其进行解析(坏主意,我知道,不过我在这里没有想法)有一个 csv 列,其值如
10,11,12,13...20用于范围,所以我可以使用WHERE ages LIKE "%17%"查找它,对于像16+这样的情况,我必须使用类似 @ 的东西来检索这些特殊情况987654329@ 并通过这些解析。
我当然倾向于第二种选择,但在最好的情况下,我会运行两个查询,一个用于常规项目,另一个用于16+
有没有更好的方法?如果没有,你认为你可以让我的任何一个模型更有效率吗?谢谢。
【问题讨论】:
-
哪个数据库?并且请从您的词汇表中删除“csv 列”,这种事情几乎从来都不是一个好主意。
-
我意识到这一点,但就像我说的那样,我在这里没有想法。谢谢你的帮助:D
-
我希望您将 DOB 存储在数据库中,而不是年龄(也许年龄作为计算列)?
-
@Damien:我认为目标年龄是一个变量,该表包含固定年龄范围。
标签: sql database database-design database-schema