Khi một giao dịch cần kiểm tra dữ liệu trước, sau đó mới quyết định có cập nhật hay không. Anh/chị cần thiết lập khoá như thế nào?
A.
Yêu cầu cấp một khoá ghi cho nó trên một mục dữ liệu mà trên mục đó đang có một khoá đọc (của giao dịch khác).
B.
Yêu cầu cấp một khoá ghi cho nó trên một mục dữ liệu mà trên mục đó đang có một khoá chờ được giải phóng.
C.
Yêu cầu cấp một khoá đọc cho nó trên một mục dữ liệu sau đó chuyển giao giao dịch và yêu cầu khoá ghi.
D.
Yêu cầu cấp một khoá đọc cho nó trên một mục dữ liệu sau đó nâng cấp khoá lên thành khoá ghi.
Trả lời:
Đáp án đúng: D
Trong tình huống giao dịch cần kiểm tra dữ liệu trước khi quyết định cập nhật, việc sử dụng khóa đọc trước, sau đó nâng cấp lên khóa ghi là phương pháp phù hợp nhất.
- Phương án A: Không phù hợp vì không thể cấp khóa ghi trên một mục dữ liệu khi đang có khóa đọc của giao dịch khác.
- Phương án B: Không rõ ràng về trạng thái "khóa chờ được giải phóng".
- Phương án C: Việc chuyển giao giao dịch không liên quan đến việc quản lý khóa.
- Phương án D: Đúng. Đầu tiên, giao dịch yêu cầu khóa đọc để kiểm tra dữ liệu. Nếu cần cập nhật, giao dịch sẽ nâng cấp khóa đọc lên khóa ghi. Điều này đảm bảo tính nhất quán và tránh xung đột ghi-ghi.