Ich versuche, eine verschachtelte Schleife, um Join ohne Force-Option zu verschmelzen, ich habe Tabelle Daten und Abfrage unten danke gegeben.Wie wird eine folgende SQL-Abfrage optimiert?
Tabelle 1:
N_ID S_NAME DEPT
1 NAME1 DEPT1
2 NAME2 DEPT2
3 NAME3 DEPT3
Tabelle 2:
N_ID S_CITY PHONE
1 CITY1 PHONE1
2 CITY2 PHONE2
3 CITY3 PHONE3
ich erstellt Index habe wie unten:
CREATE NONCLUSTERED INDEX IX_NC ON TBL1(N_ID)
INCLUDE (S_NAME)
CREATE NONCLUSTERED INDEX IX_NC ON TBL2(N_ID)
Abfrage:
SELECT A.N_ID,S_NAME FROM TBL1 A
INNER JOIN TBL2 B ON A.N_ID=B.N_ID;
Hier ist mein Ausführungsplan:
Warum wollen Sie Nested Loop mit Merge Join ersetzen? Lassen Sie SQL Server entscheiden, welche Join-Operation für Ihre Daten am besten geeignet ist. –
Wenn ich viele Daten in tb2 oder tb1. Habe, dann hängt die geschätzte Anzahl der Ausführungen davon ab, wie viele Daten tb1 oder tb2 haben. –
Stellen Sie sicher, dass die Indizes nicht fragmentiert sind, die Statistiken aktuell sind und Abfragen ordnungsgemäß ausgeführt werden sollten. –