私は興味があります、その小さな問題を回避するためのベストプラクティスは何ですか:)
2 つのクライアントを取り上げてみましょう。どちらも一意の制約を使用してテーブルに行を挿入しようとしています。
「url」列だとします。
ある時点で、次のような状況が発生することがあります。
1) クライアント A は、テーブルに URL "a" があるかどうかを確認します
2) クライアント A は、その URL がないという回答を取得します
3) クライアント A は、URL "a" を挿入しようとしています
4) クライアント B は、テーブルに URL "a" があるかどうかを確認します
5) クライアント B は、その URL がないという回答を取得します
6) クライアント A は、URL "a"を挿入しました
7) クライアント B は、URL "a" を挿入しようとしています。しかし、重複キーエラーが発生します
それを回避する最善の方法は、アプリケーションレベルで再試行することです。