Jede Minute liest dieses Programm eine Reihe von Datensätzen von um DB e repliziert sie in einer anderen DB. In 99% der Fälle besteht es aus einer No Operation, da sich die Daten nicht geändert haben.SQL Server: NOP Updates allmählich langsamer, warum?
Das Problem ist, dass einzelne Überschreibungen langsamer wurden. Mit 2500 Aufzeichnungen wurde es bemerkbar.
Wenn sich die Daten nicht ändern, warum wird SQL langsam langsamer?
Weitere Details: Damals habe ich GUID als Primärschlüssel verwendet (arm mich, ich weiß). Aber soweit ich verstehe, wird die Fragmentierung nur verursacht, wenn neue Einfügungen vorhanden sind oder die Aktualisierungen die Größe der Daten ändern, was in beiden Fällen zu Seitenaufteilungen führt. Meine Theorie ist, dass diese NOP-Updates etwas fragmentieren (nicht leicht zu erkennen) und die Latenz erhöhen. Vielleicht implementiert SQL Server dieses Update als eine Delete/Insert-Transaktion?
Ich bin nicht so sicher, dass es ein No-Op ist, auch wenn sich die Daten nicht tatsächlich geändert haben. Ein After-Update-Trigger wird beispielsweise bei jeder Update-Anweisung ausgelöst, auch wenn in der Tabelle keine Daten geändert wurden. –