近年、私は MSSQL データベースを使用していましたが、テーブル内のすべての一意のレコードの ID 列の型は bigint (long) です。これは自動インクリメントであり、通常は正常に動作します。
現在、人々がレコードの ID に GUID を使用することを好むことを観察しています。
一意のレコード ID のために bigint を guid に交換することは理にかなっていますか?
bigintの生成とソートは常にguidよりも高速であるため、意味がないと思いますが...アプリケーションとデータベースの2つ(またはそれ以上)に分離されたインスタンスを使用して同期を保つと、いくつかの問題が発生するため、 SQL サーバー間で ID プールを管理する必要があります (たとえば、sql1 は 100 から 200 までの ID を使用し、sql2 は 201 から 300 までの ID を使用します) - これは薄い氷です。guid id を使用すると、id プールは気にしません。
私のミラー化されたアプリケーション (およびデータベース) に対するアドバイスは何ですか? 従来の ID を使用するか、GUID に移行するか?
お返事ありがとうございます!