この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 1|答える: 0

[出典] .NET/C# SQL SERVERをベースに、高同時実行識別子にMERGE + HOLDLOCKを使用します

[リンクをコピー]
掲載地5秒前 | | | |
要件:使用されるMERGE + HOLDLOCKはワンステップの原子操作であり、ロック機構と組み合わせることでデータベースレベルの同時進行の競合を完璧に解決します。この記事では、MSSQLデータベースに基づくナンバーピッカー(送信機)関数を完成させます。

データベース作成スクリプトは以下の通りです:
呼び出しされるC#コードは以下の通りです:
以下のように実行してください:



10,000アカウントのテストと送信は約6秒で終わります。平均して1秒間に1,666個の数字を取ることができます現在、ほとんどの企業を支えることができます。

コアWITH(HOLDLOCK):このコードラインは非常に重要です。これはSerializableの使用を表しています。複数のスレッドや複数のサービスが同じプレフィックスを要求する場合(例えば、全員が同じ注文番号を競合する場合)、これらのリクエストを強制的にキューイングさせ、2つのスレッドが同じプレフィックスを挿入したり同じ番号を同時に追加したりするのを完全に防ぎ、番号の絶対的な一意性と連続性を保証します。




先の:location.assign、location.href、location.replace の違い
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com