目前,我正在更新数据库设计,我在这里,我需要一些指导。
目前的结构:
名为“”的person_skill表有以下列:
id
person_id
Skill Name我们将查询以下表:
让我看看所有有一项或多项技能的人,因为人可以有一项或多项技能。
查询:
select a.person_id, a.skillname, b.skillname, c.skillname
from person_skill a, person_skill b, person_skill c
where a.skillname='Java'
and b.skillname='SQL'
and c.skillname='Javascript'
and a.person_id = b.person_id
and a.person_id = c.person_id;目前,表中大约有50k条记录(预计表将在生产中的数百万行中增长),许多技术名称都是重复的。独特的技能名称在8k左右。
上面的查询返回结果,但是我担心一旦我们有了数以百万计的行,这将大大降低性能,或者更糟,它将崩溃。
有什么建议吗?
发布于 2014-04-14 18:09:27
您必须规范化您的表,推荐阅读这里。
Person_Table ID,FName,LName,SSN,
Skill_Table ID,技能
PersonXSkill_Table Person_ID,Skill_ID
https://stackoverflow.com/questions/23067017
复制相似问题