Trong tất cả các bế tắc ví dụ SQL Tôi đã nhìn thấy cho đến nay, một bế tắc xuất hiện trong khi thực hiện một SELECT
/UPDATE
, vvCó thể xảy ra bế tắc trên cam kết không?
Nếu tất cả các báo cáo của tôi đã được thực hiện thành công, là có bất kỳ cơ hội bế tắc xuất hiện khi tôi COMMIT
?
Tôi đang cố gắng nắm bắt ngoại lệ bế tắc bằng ORM của mình và tự hỏi nếu sử dụng try{}
xung quanh flush()
là đủ, hoặc nếu nó cũng cần bọc commit()
.
@Martin Cảm ơn sự giúp đỡ của bạn, không cần phải xóa câu trả lời của bạn, câu hỏi của tôi khá chung chung, mặc dù tôi thực sự hạnh phúc nếu ai đó có thể xác nhận những gì bạn đã nói cho MySQL! – Benjamin
Tôi chưa bao giờ thực sự có một thời gian chờ khóa trên một cam kết (và tôi đã có rất nhiều vấn đề thời gian chờ với bản cập nhật), nhưng nói chung bạn nên giả định rằng tất cả các hoạt động db có thể lỗi. Ngay cả trong trường hợp tốt nhất, cam kết có thể thất bại do lỗi IO. – disatisfieddinosaur
@skishore Cam kết chắc chắn có thể thất bại, nhưng tôi không sẵn sàng để bắt những thất bại này. Tôi muốn thử lại deadlocks, không phải những thất bại khác. – Benjamin