Ich kam die Abfrage in differnt Weise über das Schreiben wie unten Typ-I gezeigtdie Abfrage ist besser und effizienter - 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'
Typ-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'
Ich bin mit Mysql-Datenbank
Beide funktioniert wirklich gut, aber ich frage mich
- Was ist die beste Praxis, um alle Zeit für jede Situation zu nutzen?
- Leistung weise, die besser ist? (Sagen Sie die Datenbank als Millionen Datensätze)
- Alle Vorteile von einem über den anderen?
- Gibt es ein Tool, wo ich prüfen kann, welche Abfrage besser ist?
Vielen Dank im Voraus
edit: Scorpi0 erwähnt es ganz gut, sollten Sie einen Blick auf seine SO-Links – DrColossos
nop zu nehmen, das DBMS erfassen die innere Verknüpfung, ist es nicht ein Cross Join –
ausführen hmm, ich glaube, ich es irgendwo gelesen in den MySQL-Foren, aber Sie könnten damit recht haben. Vielleicht kann ich den Artikel trotzdem danke dafür finden, darauf hinzuweisen! – DrColossos