0

パフォーマンスへの影響に関する理論上の問題。

テーブルのフィールドの 1 つが一意です。たとえば、Users テーブルの email_address です。

パフォーマンスへの影響が少ないのはどれですか? 既存の電子メール アドレスを追加しようとしてエラーが発生したり、電子メール フィールドを検索したりしていますか?

4

2 に答える 2

1

チェックしてから更新すると、データベースに 2 回クエリを実行する必要があります。次に、テーブル インデックスを 2 回チェックします。ネットワーク オーバーヘッドとデータベース処理オーバーヘッドの両方があります。

の見解は、楽観的でなければならないということです。値が重複している場合は、潜在的なエラーを更新して適切に処理してください。


2 段階のアプローチには、もう 1 つの欠点があります。データベースへの同時アクセスがあることを忘れないでください。データベースの設定 (分離レベル、データベース エンジン) によっては、 と の間の他の接続によって DB が変更された可能性がSELECTありますUPDATE

于 2013-08-01T14:43:04.663 に答える