誰かがテーブルの1つまたは単一の行をロックしたためです。これは、たとえば、セッションで自動コミットを無効にして(変更をロールバックできるように)、そこでコミットするのを忘れた場合に発生する可能性があります。
このドキュメント 役立つかもしれません。
[編集]テーブル定義を投稿すると、2つの結合列のタイプが異なることがわかります。ここで問題は、クエリを実行するとどのタイプがアップキャスト/ダウンキャストされるかということです。あなたの場合、PAYMENT_TRANSACTION_LOG_ID
のタイプをキャストする方が良いかもしれません varchar
へ 、特にTRANSACTION_ID
にインデックスがある場合 (このクエリ用に作成する必要があります)。
そうすれば、テーブルtbl_order_head
の数行(または1行)になります。 が選択され、テーブルtbl_orders_log
でクイックルックアップが実行されます 。これがないと、データベースはログテーブルからすべてのレコードをロードし、見つかった順序ヘッダーで一致するかどうか各レコードをチェックします(さらに、すべてのIDをヘッダーのタイプにキャストします)。