Каждую минуту эта программа считывает набор записей из um DB e, которая реплицирует их в другой БД. В 99% случаев он состоит из операции Нет, потому что данные не изменились.SQL Server: nop обновления постепенно медленнее, почему?
Проблема в том, что отдельные перезаписи становились все медленнее. С 2500 записей стало заметно.
Если данные не меняются, почему SQL постепенно замедляется?
Подробнее: тогда я использовал GUID в качестве Первичных ключей (плохой я, я знаю). Но, насколько я понимаю, фрагментация возникает только в том случае, если новые вставки или обновления изменяют размер данных в обоих случаях, вызывая разбиение страниц. Моя теория заключается в том, что эти обновления nop являются фрагментацией чего-то (не легко различимы) и вызывают увеличение латентности. Возможно, SQL-сервер реализует это обновление как транзакцию удаления/вставки?
Я не уверен, что это не-op, даже если данные фактически не изменились. Например, триггер After update запускается в каждом операторе обновления, даже если данные не были изменены в таблице. –