Fordi nogen har låst et af bordene eller en enkelt række. Dette kan for eksempel ske, hvis du har deaktiveret automatisk commit (så du kan rulle dine ændringer tilbage) i en session og glemte at commit der.
Dette dokument kan hjælpe.
[EDIT] Efter du har postet tabeldefinitionerne, kan du se, at typerne af de to joinkolonner er forskellige. Nu er spørgsmålet:Hvilken type vil blive op-/ned-castet, når du kører forespørgslen? I dit tilfælde kan det være bedre at caste typen PAYMENT_TRANSACTION_LOG_ID
til varchar
, især hvis du har et indeks på TRANSACTION_ID
(som du skal oprette til denne forespørgsel).
På den måde, nogle få rækker (eller endda en enkelt) fra tabellen tbl_order_head
vil blive valgt, og derefter sker der et hurtigt opslag i tabellen tbl_orders_log
. Uden dette vil databasen indlæse alle poster fra log-tabellen og kontrollere hver post for en match i de fundne rækkefølge-headere (plus casting af hvert ID til typen i headeren osv.).