Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gibt es eine Möglichkeit/ein Tool zum Identifizieren der geschätzten Abfragelaufzeit in SQL SERVER

Zurzeit nicht. Microsoft sucht derzeit nach Möglichkeiten, dies zu tun, indem es eine Kombination aus bereits abgeschlossener Arbeit und einem geschätzten Ausführungsplan verwendet (Siehe die Details ihrer Forschung auf der Microsoft Research-Website ), also können wir damit rechnen, bald etwas zu sehen. Aber das ist die einzige mir bekannte Entwicklung.

Die Lösung, die ich in der Vergangenheit für Prozesse, die viel Zeit in Anspruch nehmen, am erfolgreichsten eingesetzt habe, besteht darin, den Prozess in kleinere Aufgaben aufzuteilen und am Ende jeder Aufgabe Meilensteine ​​zu setzen. Die Gesamtzeit für alle Ausführungen jeder Aufgabe wird aufgezeichnet, und dies wird verwendet, um den Fortschritt der aktuellen Ausführung zu bewerten. Dies hängt stark von der Linearität Ihrer Abfragen ab (d. h. die Ausführungszeit ist linear proportional zur Anzahl der Datensätze). Meilensteine ​​können entweder durch Schritte durch einen Prozess oder durch Aufteilen der Daten in kleinere Segmente oder durch beides gemessen werden.