10 Stimmen

Wie behebt man Abfragen, die nur langsam laufen, bis sie zwischengespeichert werden?

Ich habe einige Abfragen, die in unserer Live-Umgebung Timeouts verursachen. (>30 Sekunden)

Wenn ich den Profiler ausführe und den genauen SQL-Code abgreife, der ausgeführt wird, und ihn von Management Studio aus ausführe, dauert die Ausführung beim ersten Mal sehr lange und sinkt dann bei jedem weiteren Durchlauf auf ein paar hundert Millisekunden.

Dabei handelt es sich offensichtlich um SQL, das die Daten zwischenspeichert und alle Daten in den Speicher holt.

Ich bin sicher, dass es Optimierungen gibt, die an der SQL vorgenommen werden können, um sie schneller laufen zu lassen.

Meine Frage ist, wie kann ich "fix" diese Abfragen, wenn das zweite Mal, wenn ich es ausführen, die Daten bereits zwischengespeichert wurde und ist schnell?

0voto

gkrogers Punkte 7817

Von MSDN:
"Verwenden DBCC DROPCLEANBUFFERS um Abfragen mit einem Cold-Buffer-Cache zu testen, ohne den Server herunterzufahren und neu zu starten".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X