問題タブ [newsequentialid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - レプリケートされたデータベースでの newseqeuntialID と bigint の比較
私は最近、オフライン シナリオ用のマージ レプリケーションを備えたアプリケーションの作業を開始しました。pk およびクラスタリング インデックスとして機能する int ID 列があります。また、レプリケーションで必要になるため、各テーブルに uniqueidentifier 列があります。フィールドでは、ID 列が原因で、1 つ以上のサブスクリプション データベースで ID 範囲が不足するという問題に直面することがあります。次に、サポートが関与し、そのテーブルの圧縮、サブスクリプションの再初期化などに多くの時間を費やします。この問題を取り除くには、2 つの解決策があります。1. int の代わりに BigInt 列を使用し、ID を保持します。これにより範囲が広がり、この問題が二度と発生しないことを願っています。2. ID 列を取り除き、uniqueidentifier 列を pk およびクラスタリング インデックスとして機能させます。この列には、newseqeuntialID() が既に取り込まれています。これにより、問題が完全に解消されます。これにより、テーブルから 1 つの列がなくなるため、テーブル全体のサイズも縮小されますが、外部キー インデックスやその他の非クラスター化インデックスのサイズが増加します。
いくつかの負荷テストを行ったところ、タイミングに関しては bigint が少し先行していましたが、大きな違いはありませんでした。
これらの 2 つのオプション、または私が思いつかなかったその他のオプションについてどう思いますか?
sql-server - デフォルトの newsequentialid() が機能しないのはなぜですか?
id
デフォルトがのテーブルがありますがnewsequentialid
、生成される値は連続していません。
私は次のように行を設定しています:
SQL Server Express 2017 14.0.2002 の使用