2011-12-02 67 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或更好的工作,但現在可能超越主角:) –