Có - ở một mức độ nào đó.
Bao lâu một SELECT giữ khóa dùng chung tùy thuộc vào mức độ cô lập của giao dịch:
-
READ UNCOMMITTED- không có khóa dùng chung nào được lấy -UPDATEkhông bị chặn -
READ COMMITTED- khóa chia sẻ được lấy chỉ trong khoảng thời gian đọc dữ liệu -UPDATEcó thể bị chặn trong một khoảng thời gian rất ngắn -
REPEATABLE READvàSERIALIZABLE- khóa chia sẻ được mua và giữ cho đến khi kết thúc giao dịch -UPDATEbị chặn cho đến khiSELECTgiao dịch kết thúc
Về mặt kỹ thuật, UPDATE đầu tiên câu lệnh nhận được một UPDATE khóa - tương thích với khóa dùng chung (như được sử dụng bởi SELECT ) - trong khoảng thời gian trong khi nó đang đọc các giá trị hiện tại của các hàng sẽ được cập nhật.
Sau khi hoàn tất, hãy Update khóa được nâng cấp thành khóa độc quyền để dữ liệu mới được ghi vào bảng.