2

SQL Server データベースの一部のテーブルにデータの同時実行を適用したいと考えています。行のバージョン管理を実現するために、integerという名前の列を追加RowVersionし、行を更新するときに列の行の値を増やすことを考えています。

別のオプションがあります:timestamp列を使用します。timestamp列を使用すると、SQL Server は行が更新されたときに一意の値を自動的に作成します。

これらのオプションの利点を知りたいです。int列を挿入して行バージョンを格納するのはより一般的な方法ですが、timestamp列を挿入するのはSQL Server固有のものだと思います。

さらに、integer行バージョンの値は、列よりも読みやすいですtimestamp

integer行バージョン フィールドの列を選択するその他の利点または欠点を知りたいです。

ありがとう。

4

1 に答える 1

5

SQL Serverに任せれば、アトミック性が無料で保証されます。(同じテーブルでの同時更新により、異なる行バージョンが生成されることが保証されます。)独自の行バージョン管理スキームをロールする場合は、アトミック性を自分で保証するために必要なことは何でもする必要があります。

于 2011-12-30T07:41:03.610 に答える