2016-06-14 40 views
0

我正在開發一個處理求職者簡歷的網站(使用PHP,MySQL)。所以數據庫應該包含教育細節,項目,技能等數據。我爲他們創建了不同的表格,如下所示。如何在MySql數據庫中存儲簡歷細節

基本信息表

CREATE TABLE IF NOT EXISTS `candidates` (
    `candId` bigint(20) NOT NULL, 
    `firstName` varchar(255) NOT NULL, 
    `lastName` varchar(255) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `contact` char(10) NOT NULL, 
    `address` text NOT NULL, 
    `gender` char(1) NOT NULL, 
) 

經驗表

CREATE TABLE IF NOT EXISTS `Experience` (
    `candId` bigint(20) NOT NULL, 
    `companyName` varchar(255) NOT NULL, 
    `duration` varchar(20) NOT NULL, 
    `jobRole` varchar(255) NOT NULL, 
    `workType` varchar(50) NOT NULL 
) 

這個樣子,我已經創造了碩士學位(當然,百分比),學士學位(當然表,百分比),技能(名稱,效率),成就等。

在一個頁面中,我想顯示所有的信息。對於這10個表應該在頁面中訪問。我知道會緩慢加載頁面。有沒有更好的方法來實現它?

回答

1

您需要做的是使用indexes,foreign keysMySQL JOIN來實現性能。

所以表中有candId應該從主參考候選表使用外鍵。

現在,當您獲取候選人的所有細節,請使用使用JOIN讓所有候選人的相關數據單查詢。

這將幫助您改善性能問題。

+0

所以,唯一的問題是所有的數據都應該一次使用JOIN獲取。數據庫設計沒有問題,對吧? – Hari

+0

是的,這是正確的。 –

相關問題