Hallo,
SELECT SENR, MGNR, Etage, Raum, Art, HKArt, FaktorKGes, GeraeteNr
FROM aemessgeraet
Inner Join aenutzer on aemessgeraet.nutzerid = aenutzer.id
where nutzerid in (select id from aenutzer WHERE SENR in (select Servicenummer from TourenplanAnlagen Where TourID=43))
wie könnt man denn diesen SQL-Befehl optimieren. Das dauert fast 10s, wenn händlich ich den Verschachtelten SQL Befehl weglass und statt dessen die Werte reinschreib gehts in weniger wie 1 Sekunde
Nachdem SENR bereits Bestandteil der Abfrage ist, macht es imho wenig Sinn nochmals eine Abfrage von aenutzer zwischen zu schalten.
SELECT SENR, MGNR, Etage, Raum, Art, HKArt, FaktorKGes, GeraeteNr
FROM aemessgeraet
Inner Join aenutzer on aemessgeraet.nutzerid = aenutzer.id
where SENR in (select Servicenummer from TourenplanAnlagen Where TourID=43)
sollte es also auch tun.
Zusätzlich solltest Du den Ausführungsplan überprüfen, der Dir eventuelle Schwachstellen im Datenmodell (z.B. fehlende Indizes usw.) aufzeigen kann.
Grüße
Klaus