I came across writing the query in differnt ways like shown below Type-I
SELECT JS.JobseekerID , JS.FirstName , JS.LastName , JS.Currency , JS.AccountRegDate , JS.LastUpdated , JS.NoticePeriod , JS.Availability , C.CountryName , S.SalaryAmount , DD.DisciplineName , DT.DegreeLevel FROM Jobseekers JS INNER JOIN Countries C ON JS.CountryID = C.CountryID INNER JOIN SalaryBracket S ON JS.MinSalaryID = S.SalaryID INNER JOIN DegreeDisciplines DD ON JS.DegreeDisciplineID = DD.DisciplineID INNER JOIN DegreeType DT ON JS.DegreeTypeID = DT.DegreeTypeID WHERE JS.ShowCV = 'Yes' Type-II
SELECT JS.JobseekerID , JS.FirstName , JS.LastName , JS.Currency , JS.AccountRegDate , JS.LastUpdated , JS.NoticePeriod , JS.Availability , C.CountryName , S.SalaryAmount , DD.DisciplineName , DT.DegreeLevel FROM Jobseekers JS, Countries C, SalaryBracket S, DegreeDisciplines DD , DegreeType DT WHERE JS.CountryID = C.CountryID AND JS.MinSalaryID = S.SalaryID AND JS.DegreeDisciplineID = DD.DisciplineID AND JS.DegreeTypeID = DT.DegreeTypeID AND JS.ShowCV = 'Yes' I am using Mysql database
Both works really well, But I am wondering
- which is best practice to use all time for any situation?
- Performance wise which is better one?(Say the database as a millions records)
- Any advantages of one over the other?
- Is there any tool where I can check which is better query?
Thanks in advance