BCC DROPCLEANBUFFERS wird verwendet, um den Datencache im Speicher zu löschen, und im Allgemeinen führen wir bei der Performance Tuning DBCC DROP CLEANBUFFERS aus, bevor die Anweisung ausgeführt wird, um die Ausführungszeit und den physischen IO-Verbrauch einer Anweisung zu erleichtern.
Dieser Trick ist jedoch nicht immer sehr effektiv.
Manche Menschen sind diesem Phänomen vielleicht schon begegnet,Selbst wenn DBCC DROPCLEANBUFFERS ausgeführt werden, gibt es immer noch keine physische Leseart in den Ausgabeinformationen von SSMS, und diese Anweisung ist weiterhin die aus dem Speicher gelesene Daten (logisches Lesen)。
Du wirst überrascht sein: "Ist der Speicherpuffer nicht leer, warum gibt es keine physische Messung?" Sind dieses Phänomen ungültige DBCC DROPCLEANBUFFERS? ”
Nein. DROP CLEANBUFFERS können tatsächlich verwendet werden, um den Datencache im Speicher zu löschen, aber nur die Cache-Seiten im sauberen Zustand; wenn diese Seiten hingegen Dirty Pages sind, also Datenseiten im Speicher, die modifiziert und nicht auf die Festplatte synchronisiert wurden, können sie nicht aus dem Cache gelöscht werden, was aus Performancegründen geschieht.
Wenn Sie also auf DROP CLEANBUFFERS "ungültig" stoßen, versuchen Sie, die Datenseiten im Speicher und auf der Festplatte manuell zu synchronisieren und führen Sie Folgendes aus:
Du kannst auch die Anzahl und Größe der sauberen und schmutzigen Seiten im aktuellen Speicher überprüfen, indem du Folgendes sagst:
Cache-Befehl reinigen:
Original:Der Hyperlink-Login ist sichtbar. |