2011-12-02 53 views
1

目前我正在开发一个ASP 2.0的求职门户,SQL Server 2005涉及求职者注册,简历搜索,申请求职信息,雇主注册,创建求职信息,寻找求职者等。最后一年项目招聘门户

求职者可以上传大小为500Kb的Word文档,该文档存储在表格中作为varbinary。

现在我有MemberShip/Roles在单独的数据库中。作业门户表在单独的数据库中。我被告知需要拆分表,以便JobSeeker的表是一个数据库和雇主到另一个数据库,以便加快性能。

我有几个表是桥(那无论是求职者还是用人单位的店铺的ID),如工作职位,应用,保存的职位求职者,用人单位,职位发布的工作信息(适用的)警报等

任何人都可以给我如何创建一个良好的数据库设计(一个或多个)与优秀的表演。现在我有一个Database for Job Portal相关表格,不包括会员资格。下面给出了关键字段的映射,包括为文本索引启用的字段。

(JobSeekerTable - 存储个人资料)

JobSeekerId(PK)

...............

(JobSeekerResumeTable - 商店详细简历)

JobSeekerResumeId(PK)

JobSeekerId(FK)

职位(启用全文索引)

........

(JobSeekerDocTable - 商店简历详情)

JobSeekerDocId(PK)

JobSeekerId(FK)

简历(为varbinary)(启用全文索引)

求职信(文字)

........

(JobSeekerPostingTable - 商店工作职位,由求职者保存)

JobSeekerPostingId(PK)

JobSeekerId(FK)

JobPostingId( FK)

......

-

JobSeekerAppliedId(PK)

JobSeekerId(FK)

JobPostingId(FK)

(JobSeekerAppliedTable店工作职位,由工作 求职者适用)..... (CompanyTable - 雇主详情)

CompanyId(PK)

.....

(JobPostingTable - 将作业发布的信息产生 由雇主)

JobPostingId(PK)

CompanyId(FK)

职称(启用文本索引)

Job Desc(enab导致全文索引)

.....

(JobPostingConTable - 存储作业的发布 地点详细)

JobPostingConId(PK)

JobPostingId(FK)

信息

.....

(CompResumeSaved - 雇主保存的求职者详细信息)

CompResumeSaved(PK)

CompanyId(FK)

JobSeekerId(FK)

.....

最终多个表将被添加。任何人都可以告诉我如何加快表现(特别是用于搜索简历的雇主搜索引擎&搜索工作岗位的求职者。)我希望我已经清楚地提到了一切。

感谢,

阿夫塔卜乌尔拉赫曼

+0

如何分裂的建议会提高性能的概念到达?有没有真正的分析表明这确实是瓶颈所在?不成熟的优化失败了YAGNI,很糟糕,这种早熟的气味。 –

回答

1

从快速扫描你的数据库结构看起来不错。你说在diff数据库中存储更快?这样做不会有或几乎没有性能差异。您也有可能因为不允许添加FK引用而降低数据库的结构。

无论如何,我认为最好的办法是按照常规创建项目,然后 - 在项目结束时 - 开始做一些性能比较。您可能会发现该项目按预期工作。如果不是,那么你应该开始调查以下一些事情来加快速度:

输出缓存 - 您的某些页面多长时间更改一次?每次请求时都需要渲染它们吗? 正确分页

工具(如果你有大量的东西一下子被添加) 业务逻辑缓存 批处理,可能是

SQL事件探查器

(你可以,如果有这个有用你有来自SQL的全套管理工具) - 这将允许你查看你为每个页面加载请求的SQL数量。作为最佳实践,这个数字应尽可能小。平均1个或更少会是太棒了。

迷你探查(http://www.hanselman.com/blog/NuGetPackageOfTheWeek9ASPNETMiniProfilerFromStackExchangeRocksYourWorld.aspx)看起来很酷。

1

对于数据库良好的持久性,不需要制作不同的数据库。您可以在单个数据库中创建所有表格。未来将很容易维护。

对于数据库性能还有一件事,您可以应用索引并启动Schema进行数据库设计。你也可以为你的数据库定义第三NF来做一个好的。

第二件事,不要将CV保存在数据库中,只要在数据库中保存参考服务器路径和文件名即可。请将服务器端的CV保存为文件(使用文件系统)。这是最好的接近。您可以加载显示,也可以删除大小标准,如“naukri.com”和其他着名的求职门户。

如果您需要任何类型的帮助来创建此应用程序,请通过此帐户与我联系。我会给你的项目的指导线,直到你的项目将完成...

+0

我认为他们想将它存储在数据库中进行全文索引?可以使用lucene或更好的工作,但现在可能超越主角:) –