Đây là một câu hỏi khiêm tốn được hỏi trong tinh thần tăng kiến thức của tôi; vui lòng nhẹ nhàng trong phản ứng của bạn.
Là một nhà phát triển ứng dụng lâu năm, tôi biết ở một mức độ nào đó giao dịch là gì (tôi sử dụng chúng mọi lúc). Tạm thời bỏ qua các mức cô lập giao dịch, ở cấp độ cao, giao dịch cho phép một khối công việc hoàn thành hoặc không hoàn toàn, và cho phép một số cách ly nhất định với hoạt động sửa đổi cơ sở dữ liệu khác.
Tôi cũng biết khóa (trong các cơ sở dữ liệu khác nhau) là gì, hoặc ít nhất là cách hành xử (nếu tôi khóa bảng theo cách nào đó một cách rõ ràng, thì không có quy trình hoặc luồng nào khác có thể cập nhật bất cứ điều gì về bảng đó).
Điều tôi đặc biệt không rõ ràng nhất là: trong các cơ sở dữ liệu khác nhau, khi tôi khóa rõ ràng một hàng hoặc bảng, tôi có đang sử dụng các cấu trúc chính xác được sử dụng bởi các cơ sở giao dịch của cơ sở dữ liệu dưới vỏ bọc để giao dịch hoạt động chính xác không?
Đó là, nó xảy ra với tôi rằng để một giao dịch là nguyên tử và bị cô lập, nó phải thực hiện một số khóa. Đây có phải là khóa giao dịch được khởi tạo, ẩn tranasction cùng một loại khóa mà các cơ sở dữ liệu khác nhau cho phép tôi truy cập thông qua các cấu trúc như SELECT FOR UPDATE
hoặc LOCK
các lệnh rõ ràng không? Hay hai khái niệm này hoàn toàn khác nhau?
Một lần nữa, tôi xin lỗi vì sự ngây ngô của câu hỏi này; Tôi rất vui khi được chỉ đến các nguồn nền tảng hơn.