При измерении производительности на мой запрос я пришел с зависимостью между уровнем изоляции и истекшее время, что было удивительно для меняПочему лучше уровень изоляции означает более высокую производительность в SQL Server
READUNCOMMITTED - 409024
READCOMMITTED - 368021
REPEATABLEREAD - 358019
SERIALIZABLE - 348019
левый столбец таблицы намек, и правый столбец - истекшее время в микросекундах (sys.dm_exec_query_stats.total_elapsed_time). Почему лучший уровень изоляции дает лучшую производительность? Это машина разработки, и никакой параллелизм не происходит. Я ожидал бы, что READUNCOMMITTED будет голодом из-за меньшего количества накладных расходов.
Обновление: Я сделал измерить с
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
выданную и Profiler подтверждает то вы кэш не хиты происходит.
У меня есть такая привычка, спасибо за напоминание. Ремус предоставил довольно ценный вклад, хотя я все еще надеюсь получить представление о том, почему явление, которое я наблюдаю, происходит. –