Khi đo hiệu suất trên truy vấn của tôi, tôi đã đưa ra một sự phụ thuộc giữa mức độ cách ly và thời gian trôi qua mà là đáng ngạc nhiên đối với tôiTại sao mức độ cách ly tốt hơn có nghĩa là hiệu suất tốt hơn trong SQL Server
READUNCOMMITTED - 409024
READCOMMITTED - 368021
REPEATABLEREAD - 358019
SERIALIZABLE - 348019
cột trái là bảng gợi ý, và cột bên phải là thời gian trôi qua tính bằng micro giây (sys.dm_exec_query_stats.total_elapsed_time). Tại sao mức độ cách ly tốt hơn cho hiệu suất tốt hơn? Đây là một máy phát triển và không có sự tương tranh nào xảy ra. Tôi mong đợi READUNCOMMITTED sẽ được nhịn ăn do ít chi phí khóa hơn.
Cập nhật: Tôi đã đo này với
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
ban hành và Profiler khẳng định có đang có bộ nhớ cache hit xảy ra.
Tôi chắc chắn có thói quen như vậy, cảm ơn lời nhắc nhở. Remus đã cung cấp một đầu vào khá có giá trị mặc dù tôi vẫn hy vọng sẽ có được một cái nhìn sâu sắc tại sao hiện tượng tôi quan sát xảy ra. –