Ich arbeite in SQL und hat 26000 Tausende von Datensätzen in der Primärschlüssel SQL-Tabelle.SQL-Abfrage Leistung in JOIN
Mitarbeiter Tabelle Daten:
Id | Name | DepartmentId
--------------------------
1 | AA | 1
2 | BB | 1
3 | CC | 2
Departments Tabellendaten:
Id | Name |
----------------
1 | IT |
2 | Network |
Erstellt Index für Employee.DepartmentId
I wie unten eine Frage haben,
Select E.Id, E.Name, E.DepartmentId
from Employees E
JOIN Department D
ON E.DepartmentId = D.Id
Die obige Abfrage wird in 2 Sekunden ausgeführt und gibt alle Datensätze zurück. , aber wenn ich den Abteilungsnamen in die Auswahlliste aufgenommen habe, dauert es ungefähr 10 Sekunden.
Select E.Id, E.Name, E.DepartmentId,D.Name
from Employees E
JOIN Department D
ON E.DepartmentId = D.Id
Was ist das Problem hier?
Vielen Dank im Voraus.
Ich entfernte die inkompatiblen Datenbank-Tags. Bitte markieren Sie die Frage mit der Datenbank, die Sie wirklich verwenden. –
ist Ihre 'DepartmentId' auf' Employees' indiziert? Denken Sie daran, dass Sie alle Datensätze auswählen und dass die zurückgegebenen Daten in JSON sehr groß sind und die Netzwerkgeschwindigkeit für die Übertragung der Daten berücksichtigen müssen. –
** [Bearbeiten] ** Ihre Frage und fügen Sie den Ausführungsplan hinzu. [_Formatted_] (http://dba.stackexchange.com/help/formatting) Text bitte, [keine Screenshots] (http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload -images-of-code-on-so-wenn-Frage-Frage/285557 # 285557) –