毎分、このプログラムはum DB eから一連のレコードを読み取り、別のDBでそれらを複製します。 99%の時間で、データが変更されなかったため、No Operationから構成されます。SQL Server:nopの更新が徐々に遅くなるのはなぜですか?
問題は、個々の上書きが遅くなっていたことです。 2500のレコードで、それは目立つようになった。
データが変更されない場合、SQLは徐々に遅くなっていますか?
詳細:私はGUIDを主キーとして使用しました(貧しい私、私は知っています)。しかし、わかっている限り、断片化は、新しい挿入がある場合、または更新によってデータのサイズが変更された場合にのみ発生します。両方の場合にページ分割が発生します。私の理論は、これらのnop更新が何かを断片化している(簡単に見つけられない)ことと、遅延を増加させることです。おそらく、SQL Serverはこの更新プログラムを削除/挿入トランザクションとして実装していますか?
データが実際には変更されていなくても、それがノーオペレーションであるかどうかはわかりません。たとえば、更新後のトリガは、テーブル内のデータが変更されていなくても、すべての更新文で起動します。 –