は現在、我々はこの文を使用して、同時に多数の行を更新している:ポストグルで "IN()"を使って多くの行を更新すると、デッドロックが発生する可能性はありますか?
update my_table set field = 'value' where id in (<insert ids here>);
私の心配は、それは我々が時間間隔で実行する別のクエリでデッドロックが発生する可能性があり、次のとおりです。
select my_table where field = 'value' for update order by id;
上記のクエリは複数の行を取得します。
このシナリオは可能ですか?背景の
だけビット:
私たちは、同時に複数回上記のクエリを実行すると、私たちはそのクエリによって異なる順序に起因するランダムなデッドロックを持ったので、私たちは前にidで順番を追加しました。
これが更新ステートメントにも当てはまるかどうかは疑問でした。