当测量我的查询性能,我想出了隔离级别之间的依赖和使用时间,这是令人惊讶的对我为什么更好的隔离级是指在SQL Server性能更好
READUNCOMMITTED - 409024
READCOMMITTED - 368021
REPEATABLEREAD - 358019
SERIALIZABLE - 348019
左列表提示,并右列是经过的时间(以微秒为单位)(sys.dm_exec_query_stats.total_elapsed_time)。为什么更好的隔离级别提供更好的性这是一个开发机器,不会发生任何并发。由于减少了锁定开销,我期望READUNCOMMITTED成为禁食。
更新:我做了
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
发出
衡量这一点,并探查证实是有没有缓存命中发生。
我当然有这样的习惯,谢谢提醒。 Remus提供了相当宝贵的意见,但我仍希望了解为什么我观察到的现象发生。 – 2010-03-16 10:55:35