我正在开发一个门户网站,它将工作要求,如经验,工资等存储在数据库中,每当任何用户(新/旧)符合该条件时,作业应在登录后在其仪表板中显示。 员工中的我的专栏是 年龄,城市,行业,婚姻状况。
因此,当admin发布作业时,他将定义用户可以看到的条件。对于前者年龄在20-30岁之间,只有孟买这样的城市。
如何有效地将这些信息存储在数据库中。
我使用的是PHP / MySQL。
答案 0 :(得分:5)
理想情况下,您应该使用用户创建一个表:
创建第二个表来配合行业和UUID,如下所示:
这样,特定用户可以属于多个行业。
第三,创建一个表来配置用户ID和体验:
由于行业和经验是给定用户可以拥有任意数量的数据,因此您需要将数据抽象到自己的表中。不要尝试在单个表中表示所有这些信息 - 这是一个解决方案,可以通过单个雇主进行不良扩展。
我还想指出,如果您的申请将在美国和其他几个国家部署,那么雇主根据年龄和婚姻状况进行歧视实际上是非法的。我假设这不适用于你,但确实如此。
答案 1 :(得分:1)
在加快查找速度方面,您要做的最重要的事情是确保索引要搜索的列。
例如,如果您想进行基于某个开始日期的搜索:
像: select * from tablename where start_date> '某个约会';
然后将'tablename'表上的start_date列编入索引非常重要。
除了确保您的表格是正交的,决定设置数据库的最佳方式之外,您还需要问自己,您会询问数据库会出现什么样的问题,并围绕这些问题设计表格。