SQL Server 2005 Wie löscht man einen Abfrageausführungsplan?

8

Hallo Kollegen Programmierer. Ich habe eine SQL Server 2005-Abfrage, die eine lange Zeit dauert, um das erste Mal zu verarbeiten. Nach dem ersten Durchlauf arbeitet die Abfrage viel schneller. Es geht von einer Minute bis zu einer Sekunde.

Ich weiß, dass SQL Server einen Ausführungsplan zwischenspeichert (ist das der richtige Begriff?). Was ich tun möchte, ist diesen Ausführungsplan zu klären, damit ich das Problem besser replizieren kann. Ich versuche die Abfrage zu optimieren.

Weiß jemand, ob das möglich ist und wie?

Vielen Dank im Voraus

    
codingguy3000 17.08.2009, 15:59
quelle

4 Antworten

16
___ antwort1288841 ___

Wenn Sie es dann löschen möchten:

%Vor%

Wenn Sie jedes Mal eine erneute Kompilierung der Abfrage erzwingen möchten, fügen Sie am Ende der Abfrage einen Abfragehinweis hinzu:

%Vor%     
___ answer1288861 ___

Dies ist was ich mache, wenn ich sie jemals löschen möchte

%Vor%

Wenn ich eine Abfrage per Leistung testen möchte, füge ich diese normalerweise einfach oben in die Abfrage ein, so dass sie jedes Mal ausgeführt wird, wenn sie mit einem leeren Cache ausgeführt wird.

    
___ qstntxt ___

Hallo Kollegen Programmierer. Ich habe eine SQL Server 2005-Abfrage, die eine lange Zeit dauert, um das erste Mal zu verarbeiten. Nach dem ersten Durchlauf arbeitet die Abfrage viel schneller. Es geht von einer Minute bis zu einer Sekunde.

Ich weiß, dass SQL Server einen Ausführungsplan zwischenspeichert (ist das der richtige Begriff?). Was ich tun möchte, ist diesen Ausführungsplan zu klären, damit ich das Problem besser replizieren kann. Ich versuche die Abfrage zu optimieren.

Weiß jemand, ob das möglich ist und wie?

Vielen Dank im Voraus

    
___ tag123sqlserver2005 ___ Verwenden Sie dieses Tag für Fragen, die für die Version 2005 von Microsoft SQL Server spezifisch sind. ___ answer1288830 ___

DBCC FREEPROCCACHE

    
___ answer16610611 ___

Seien Sie gewarnt: Manchmal laufen Abfragen ein zweites Mal schneller, weil der Server die Festplatten-IO bereits ausgeführt hat und immer noch Tabellen im RAM hat. Betrachten Sie die E / A-Kosten im Ausführungsplan.

    
___ qstnhdr ___ SQL Server 2005 Wie löscht man einen Abfrageausführungsplan? ___
Andrew 17.08.2009, 16:03
quelle
3

Dies ist was ich mache, wenn ich sie jemals löschen möchte

%Vor%

Wenn ich eine Abfrage per Leistung testen möchte, füge ich diese normalerweise einfach oben in die Abfrage ein, so dass sie jedes Mal ausgeführt wird, wenn sie mit einem leeren Cache ausgeführt wird.

    
Gavin 17.08.2009 16:07
quelle
2

Seien Sie gewarnt: Manchmal laufen Abfragen ein zweites Mal schneller, weil der Server die Festplatten-IO bereits ausgeführt hat und immer noch Tabellen im RAM hat. Betrachten Sie die E / A-Kosten im Ausführungsplan.

    
quillbreaker 17.05.2013 13:43
quelle
1

DBCC FREEPROCCACHE

    
Darryl Peterson 17.08.2009 16:02
quelle

Tags und Links