Im Moment habe ich diese SQL-Abfrage, die gültig ist, aber immer mal aus:Wie kann ich diese SQL-Abfrage optimieren?
SELECT
(
SELECT (MAX(WP_ODOMETER) - MIN(WP_ODOMETER))/DATEDIFF(DAY, MIN(WP_DATETIME), MAX(WP_DATETIME))
FROM WAYPOINTS
WHERE WP_DATETIME BETWEEN DATEADD(DAY,-14,GETDATE()) AND GETDATE()
AND WP_VTDID = 'L088'
)
AS MAXD,
(
SELECT MAX(WP_ODOMETER)
FROM WAYPOINTS
WHERE WP_DATETIME BETWEEN DATEADD(DAY,-14,GETDATE()) AND GETDATE()
AND WP_VTDID = 'L088'
)
AS MD
Ich möchte eine Ansicht erstellen auf der oben genannten SQL-Abfrage basiert. Etwas wie dieses:
SELECT L_VTDID
(
SELECT (MAX(WP_ODOMETER) - MIN(WP_ODOMETER))/DATEDIFF(DAY, MIN(WP_DATETIME), MAX(WP_DATETIME))
FROM WAYPOINTS
WHERE WP_DATETIME BETWEEN DATEADD(DAY,-14,GETDATE()) AND GETDATE()
AND WP_VTDID = LOCOMOTIVES.L_VTDID
)
AS MAXD,
(
SELECT MAX(WP_ODOMETER)
FROM WAYPOINTS
WHERE WP_DATETIME BETWEEN DATEADD(DAY,-14,GETDATE()) AND GETDATE()
AND WP_VTDID = LOCOMOTIVES.L_VTDID
)
AS MD
FROM LOCOMOTIVES
Wenn Sie diese Art von Fragen stellen, ist es normalerweise eine gute Idee, einen Ausführungsplan zu veröffentlichen. –
Ich wusste nicht, wie das geht: D, ich überprüfe Abfrage -> Geschätzten Ausführungsplan anzeigen, es sagte mein gruppierten Index suchen (etwa 34% auf jedem Feld bei Abfrage) – Dels