【发布时间】:2011-01-27 21:25:29
【问题描述】:
在测量查询的性能时,我发现了隔离级别和运行时间之间的依赖关系,这让我很惊讶
READUNCOMMITTED - 409024
READCOMMITTED - 368021
REPEATABLEREAD - 358019
SERIALIZABLE - 348019
左列是表提示,右列是以微秒为单位的经过时间(sys.dm_exec_query_stats.total_elapsed_time)。为什么更好的隔离级别可以提供更好的性能?这是一台开发机器,不会发生任何并发。由于锁定开销较少,我希望 READUNCOMMITTED 是禁食的。
更新:我确实用
测量了这个DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
已发布,Profiler 确认没有发生缓存命中。
【问题讨论】:
-
我确实有这样的习惯,谢谢提醒。 Remus 提供了非常有价值的意见,但我仍然希望了解我观察到的现象发生的原因。
标签: sql-server optimization isolation-level