問題タブ [uniqueidentifier]

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.

0 投票する
1 に答える
4170 参照

sql-server - SQL Server の一意の識別子列のクラスター化/非クラスター化インデックス

ここでさまざまな質問/回答を読みましたが、これは基本的に、uniqueidentifier 列にクラスター化インデックスを設定することは、パフォーマンス上の理由から不適切な選択であることを示しています。とにかく、私はuniqueidentifierを主キーとして使用する必要があり、生成された値が互いにあまりにも似ているため、newsequentialid()を使用したくありません(ユーザーが[合理的に]「推測」できないように、より多くのランダムIDが必要です)別の ID)。

では、この PK をインデックス化する最良の方法は何ですか? この列のクラスター化インデックスは理想的ではありませんが、「一意の非クラスター化」インデックスよりも優れていますか?

SQL Server 2005 を使用しています。

0 投票する
3 に答える
6398 参照

windows - WMI なしで一意のマシン署名を取得する方法は?

マシンの一意の ID の生成に関する質問が既に寄せられていることは知っていますが、私の質問は少し異なります。

ハードウェア情報を取得し、WMI を使用しない他の方法 (API 呼び出し?) があるかどうかを知りたいです。WMI はWin2000で導入されたため、Win98 では使用できないようです。Win98 でも実行しなければならないアプリケーションを持っています (それがひどいのはわかっていますが、何ができますか?) それでもハードウェア情報を取得できます。

0 投票する
3 に答える
1015 参照

sql-server - Sql Server: uniqueidentifier と整数の複合 PK ... 使用するインデックスの種類は?

SQL Server 2005 データベースに、次の 2 つの列で構成されるジャンクション テーブルがあります。

  • object_id (一意の識別子)

  • property_id (整数)

これらの値が組み合わさって、複合主キーが作成されます。

SELECT パフォーマンスのためにこの PK インデックスを作成する最良の方法は何ですか?

列が 2 つの整数の場合は、複合クラスター化インデックス (デフォルト) を使用します。ただし、uniqueidentifiers が関係している場合、クラスター化されたインデックスについて悪いことを聞いたことがあります。

誰でもこの状況の経験がありますか?

0 投票する
3 に答える
4352 参照

c# - SqlServerのuniqueidentifier/更新された日付列をLinqtoSqlで使用する-ベストアプローチ

正しいか間違っているかを問わず、SQLServerデータベースのテーブルの主キーとして一意の識別子を使用しています。linq to sql(c#)を使用してモデルを生成しましたが、列の場合、 linq to sqlは、デフォルト値の/のidentity新しいレコードを挿入するときに一意のキーを生成します。guiduniqueidentifier00000000-0000-0000-0000-000000000000

私は自分のコードでGUIDを設定できることを知っています:linqからsqlモデルまたは他の場所で、またはsqlサーバーテーブルの作成にデフォルト値があります(ただし、これはコードで生成された値によってオーバーライドされます)。ただし、このキーを生成するのに最適な場所は、ソリューションの開発に伴ってテーブルが常に変更されるため、LinqtoSqlモデルが変更されたときに再生成することに注意してください。

同じ解決策が、(挿入の)電流を保持する列に適用されますdatetimeか?これは、更新のたびに更新されますか?

0 投票する
2 に答える
96 参照

comparison - 信頼性を扱うシーケンスID

UDP メッセージの信頼性を処理する簡単な方法を見つけようとしています。それぞれにシーケンス ID を付けて送信し、ID を以前に受信した ID と比較することで、損失を検出できると考えました。私は通常整数を使用しますが、それが無限に増加し続けるという考えは私には合いませんでした。

base64 を使用することもできますが、それは読みやすくするだけで、実際には何も解決しません。

日付スタンプを前に付けることも考えましたが、真夜中頃に受信したメッセージを処理する場合、それはちょっとずさんです。

たとえそれが整数に固執するだけであっても、誰かが提案できるより良い解決策が必要だと思います。

0 投票する
4 に答える
888 参照

sockets - Socket.LocalEndPoint を一意の ID として使用しても安全ですか?

サーバーが tcp/ip 接続を介してクライアントを受け入れると、新しいソケットが作成されます。

(クライアントの観点から) LocalEndPoint ポートを ID として使用しても安全ですか? 例 (サーバーの観点から):

int clientId = ((IPEndPoint)client.RemoteEndPoint).Port;

私のローカル マシンでは、ポートは一意のように見えますが、複数のクライアントが異なるマシン上にある場合、常にそうであるとは限りません。

私の2番目の質問:ポートを一意のIDのように使用できないとしましょう。サーバー(したがってプロトコルスタック)が2つのクライアントソケットをどのように区別できるか(サーバーの観点から)。

TY.

0 投票する
5 に答える
39551 参照

sql-server - SQL Server:すべてのテーブルで特定のGUIDを検索します

いくつかのデータをクレンジングする必要があり、SQLServer°で特定のガイド(つまり、 uniqueidentifiers)を見つける必要があります。

現在のデータベースのすべてのテーブルのすべてのuniqueidentifier列からSELECTを実行し、GUIDが見つかった場合に結果セットを返すストアドプロシージャを考え出しました。

これは、INFORMATION_SCHEMAビューを使用して、 (ビューではなく)すべてのベーステーブル内のすべてのuniqueidentifier列を検索します。列ごとにselectを発行し、テーブルの名前とそれが見つかった列を返します。


私の質問は:

質問1
個別のクエリではなく、ORと同じテーブル内の複数のuniqueidentifier列の検索を実行するように変更する方法を誰かが理解できますか?

すなわち

次のようになります:

カーソル内でカーソルを使用しようとしましたが、FETCH_STATUSの競合が発生します。

質問2 誰かがそれを行うためのより良い方法を考えることができますか?‡</ p>


脚注:

°SQLServer2000

‡リレーショナルデータベースでuniqueidentifiersを使用するという制約があります。

0 投票する
4 に答える
5306 参照

c# - C# の長い一意の ID を生成する

一意の ID を持つ一連のテーブルを含む SQL データベースがあります。長い間、一意の Identifier データ型を使用し、C# インターフェイスから GUID を渡してきました。ただし、クエリの速度を上げるために、bigint を使用して long を渡すことに切り替えました。

ID が重複しないように、コードを実行するたびに一意の long を作成する最も簡単な方法は何ですか?

0 投票する
3 に答える
1713 参照

perl - Perl で一意の識別子を作成するにはどうすればよいですか?

さまざまなユーザーが実行したいくつかのテスト結果のファイル指向データベースを作成しています。このために、データベース内のすべてのエントリに対して一意の ID を生成する必要があります。ID は次の要件を満たす必要があります。

  • ID はかなり小さくする必要があります (最大 6 文字)
  • すべてのテストケースとユーザーの組み合わせに対して、毎回同じIDを生成する必要があります

私が試したのは、シード値が 31 の単純な BKDR ハッシュ関数で、次のように ord() 関数を使用しました。

これにより、さまざまな組み合わせで同じ結果が得られることがあります。つまり、一意性が観察されません。これを達成する他の方法はありますか?シード値を変更すると、一意性を達成するのに役立ちますか?