me encontré escribiendo la consulta en formas diferentes personas, como se muestra a continuación tipo Iqué consulta es mejor y más eficaz - mysql
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'
tipo 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'
soy utilizando la base de datos Mysql
Ambos funcionan muy bien, pero me pregunto
- ¿cuál es la mejor práctica para usar todo el tiempo para cualquier situación?
- Rendimiento sabio, ¿cuál es mejor? (Diga la base de datos como millones de registros)
- ¿Alguna ventaja de una sobre la otra?
- ¿Hay alguna herramienta donde pueda verificar cuál es la mejor consulta?
Gracias de antemano
edición: Scorpi0 menciona bastante bien, asegúrese de echar un vistazo a sus SO-enlaces – DrColossos
nop, el DBMS detectar la unión interna, ya que no realiza una combinación cruzada –
hmm, creo que he leído en alguna parte en los foros de MySQL, pero es posible que tengas razón al respecto. ¡Tal vez pueda encontrar el artículo gracias por señalar! – DrColossos