Perché qualcuno ha bloccato uno dei tavoli o una singola riga. Questo può accadere, ad esempio, se hai disabilitato il commit automatico (in modo da poter ripristinare le modifiche) in una sessione e hai dimenticato di eseguire il commit lì.
Questo documento potrebbe aiutare.
[EDIT] Dopo aver pubblicato le definizioni delle tabelle, puoi vedere che i tipi delle due colonne di join sono diversi. Ora la domanda è:quale tipo sarà up-/downcast quando si esegue la query? Nel tuo caso, potrebbe essere meglio trasmettere il tipo di PAYMENT_TRANSACTION_LOG_ID
a varchar
, soprattutto se hai un indice su TRANSACTION_ID
(che dovresti creare per questa query).
In questo modo, poche righe (o anche una sola) dalla tabella tbl_order_head
verrà selezionato e quindi, viene eseguita una rapida ricerca nella tabella tbl_orders_log
. Senza questo, il database caricherà tutti i record dalla tabella di registro e controllerà ogni record per una corrispondenza nelle intestazioni dell'ordine trovato (oltre a trasmettere ogni ID al tipo nell'intestazione, ecc.).