同時実行では、オプティミスティック同時実行で同時実行を制御する方法は、タイムスタンプ フィールドを使用することです。ただし、私の特定のケースでは、同時実行に関してすべてのフィールドを制御する必要はありません。
たとえば、在庫量を保持する製品テーブルがあります。このテーブルには、説明、コードなどのフィールドがあります。私にとっては、1 人のユーザーがこれらのフィールドを変更することは問題ではありませんが、他のユーザーが在庫を変更するかどうかを制御する必要があります。
したがって、タイムスタンプを使用していて、あるユーザーが説明を変更し、別のユーザーが在庫量を変更した場合、2 番目のユーザーは例外を受け取ります。
ただし、同時実行例外の代わりに在庫フィールドを使用すると、最初のユーザーが情報を更新し、2 番目のユーザーが問題なく在庫を更新できます。
在庫フィールドを使用して同時実行を制御するのは良い解決策ですか、それとも常にタイムスタンプ フィールドを使用する方が良いですか?
また、将来、新しい重要なフィールドを追加する必要がある場合は、在庫と新しいフィールドの同時実行を制御するために 2 つのフィールドを使用する必要がありますか? 性能面でのコストは高いですか?