2016-06-14 3 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을 사용해야합니다. 솔직한

그래서 표는 주요 후보에서 외래 키를 사용하여 테이블을 참조해야한다.

이제 후보자의 모든 세부 정보를 가져 오면 JOIN을 사용하는 단일 쿼리를 사용하여 모든 후보자의 관련 데이터를 얻으십시오.

성능 문제를 개선하는 데 도움이됩니다.

+0

그래서 유일한 것은 JOIN을 사용하여 한 번에 모든 데이터를 가져와야한다는 것입니다. 데이터베이스 디자인에는 아무런 문제가 없습니다. – Hari

+0

맞습니다. –

관련 문제