3

主キーについていくつかの意見を得たかっただけです - ID/シーケンス番号を使用するか、HiLo 戦略を使用する方が良いでしょうか (高い値を照会し、アプリ自体で低い値をインクリメントします)?

4

2 に答える 2

6

大きなテーブル (> 100 万行) で SQL Server 2005/2008 を使用している場合は、これを検討することをお勧めします。特定の状況下では、scope_identity() と @@identity に問題があります。

もちろん、現在の実装の問題を回避する設計が常に賢明な決定であるとは限りません。

于 2009-04-29T19:42:17.760 に答える
2

アプリケーションが 1 つのデータベースのみを使用する場合は、ID/シーケンスを使用します。

私が見た唯一の本当にやむを得ない HiLo の理由は、アプリケーションの 2 つの切断されたインスタンスがあり、人々が同時に作業することができ、ある時点でその違いを調整する必要がある場合です。

。異なる場所にある 2 つの異なるサーバーで人々が作業している可能性があるが、ある時点で 2 つを同期する必要があるコンテンツ管理システムに取り組んでいます。

于 2009-04-29T19:31:19.377 に答える