Hari
Hari

Reputation: 43

How to store resume details in MySql database

I am developing a website (using PHP,MySQL) that deals with resumes of job-seekers. So the database should hold data like education details, projects, skills, etc. I have created different tables for them like shown below.

Basic info table

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,
)

Experience table

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
)

Like this,i have created tables for master degree(course,percentage),bachelors degree(course,percentage),skills(name,efficiency),achievements,etc.

In a page,i want to display all the information.For that 10 tables should be accessed in the page.I know that will load the page slowly.Are there any better ways to implement it?

Upvotes: 0

Views: 1755

Answers (1)

Alok Patel
Alok Patel

Reputation: 8022

What you need to do is use indexes, foreign keys and MySQL JOIN to achieve the performance.

So Table which have candId should be referenced from main candidates table using foreign keys.

Now when you fetch candidates's all details, use single query using JOIN to get all the candidate's related data.

This will help you to improve performance issue.

Upvotes: 1

Related Questions