Một bế tắc có thể xảy ra vì nhiều lý do, do đó bạn sẽ phải làm một ít bài tập về nhà trước nếu bạn muốn được giúp đỡ và cho chúng tôi biết nguyên nhân gây ra bế tắc. các lô liên quan đến việc thực thi bế tắc là gì, tài nguyên nào có liên quan và vân vân và vân vân. Các Profiler deadlock event graph luôn luôn là một nơi tuyệt vời để bắt đầu điều tra.
Nếu tôi muốn chụp ảnh trong bóng tối, các truy vấn và chỉ mục của bạn không được điều chỉnh chính xác, vì vậy hầu hết các hoạt động đọc của bạn (và có lẽ một số ghi) là quét toàn bộ bảng và do đó được đảm bảo va chạm với các bản cập nhật. Điều này có thể gây ra deadlocks by order of index access, bế tắc theo thứ tự các hoạt động, bế tắc bằng cách leo thang, v.v.
Khi bạn xác định được nguyên nhân gây ra bế tắc thì có thể thực hiện hành động thích hợp để xóa nó. Các trường hợp khi anh ta hành động thích hợp là để nghỉ mát để đọc bẩn là cực kỳ hiếm.
BTW Tôi không chắc chắn ý của bạn là 'TransactNo updlock'. Bạn có yêu cầu cụ thể về số S-U/U-S asymmetry of the U locks không?
Nguồn
2009-05-31 19:10:20
Leo thang khóa là khi động cơ quyết định từ bỏ việc lấy các khóa dạng hạt riêng lẻ và quyết định lấy khóa thô mức cao hơn. Khóa leo thang chuyển từ khóa cấp hàng sang khóa cấp bảng. Một dấu hiệu câu chuyện của một khóa tắc nghẽn leo thang là sự tham gia của tôi khóa (khóa dự định) khi leo thang cố gắng để có được ổ khóa thực sự trên bàn và nó sẽ xung đột với các ổ khóa ý định khác nhau (S-IX, S-IS) đã được đặt trên nó . Ví dụ của bạn là đọc kinh điển theo sau là viết, nó không liên quan đến việc leo thang. –
Nếu tôi sử dụng thuật ngữ sai, thì tôi xin lỗi; nhưng kịch bản (bằng tên bất kỳ) là một vấn đề phổ biến. –