Bởi vì ai đó đã khóa một trong các bảng hoặc một hàng duy nhất. Điều này có thể xảy ra, ví dụ:nếu bạn đã tắt tính năng tự động cam kết (để bạn có thể khôi phục các sửa đổi của mình) trong một phiên và quên cam kết ở đó.
Tài liệu này có thể hữu ích.
[EDIT] Sau khi bạn đăng định nghĩa bảng, bạn có thể thấy rằng kiểu của hai cột nối là khác nhau. Bây giờ câu hỏi là:Loại nào sẽ được truyền lên / xuống khi bạn chạy truy vấn? Trong trường hợp của bạn, tốt hơn là nên truyền loại PAYMENT_TRANSACTION_LOG_ID
thành varchar
, đặc biệt nếu bạn có chỉ mục trên TRANSACTION_ID
(mà bạn nên tạo cho truy vấn này).
Bằng cách đó, một vài hàng (hoặc thậm chí một hàng duy nhất) từ bảng tbl_order_head
sẽ được chọn và sau đó, tra cứu nhanh sẽ xảy ra trong bảng tbl_orders_log
. Nếu không có điều này, cơ sở dữ liệu sẽ tải tất cả các bản ghi từ bảng nhật ký và kiểm tra từng bản ghi xem có khớp với các tiêu đề thứ tự tìm thấy hay không (cộng với truyền mọi ID thành loại trong tiêu đề, v.v.).