タグ付けされた質問 「uuid」


2
PostgresでUUIDをインデックスするにはどうすればよいですか?
私はPostgreSQLが初めてであり、データベース全般については多少新しいです。PostgresでUUID値をインデックスする方法の確立された方法はありますか?ハッシュを使用するかトライを使用するかは、自動的に使用する組み込みのものが既に存在しない限り、分割されます。私が使用するものはすべて、膨大な量のデータを処理します。 SP-GiST演算子ファミリ「text_ops」は、トライを使用してインデックスを作成します。UUIDは非常に長く、非常に異なるため、完全一致検索のみを行う場合でも、これらのサウンドは魅力的です。 ハッシュオプションもあります。ハッシュはO(1)であり、もちろん平等以外の比較を行う必要はありませんが、UUIDは非常に長いため、ハッシュからハッシュを生成すると多くの時間が浪費されるのではないかと心配しています。 または、これはシステムに依存しすぎて、仕様を使用するものですか? ほとんどの場合、bigserialを使用したいのですが、これにはuuidを使用するように言われました。異なるデータベースを使用する複数のサーバーが存在する可能性があるため、uuidが必要です。したがって、一意のbigintがあることを保証するものではありません。サーバーごとに異なるシーケンス(およびシード)を使用できますが、それでもUUIDほど柔軟ではありません。たとえば、IDとその参照をどこでも変換しないと、データベースエントリをあるサーバーから別のサーバーに移行することはできません。
26 postgresql  index  uuid 


2
Row_GUID列の目的は何ですか?
私はAdventureWorks2012データベースを掘り下げて調査し、いくつかのテーブルでRow_GUIDが使用されていることを確認しました。 私の質問には2つの部分があります。 Row_GUID列を含める必要があるのはいつですか? Row_GUID列の用途と利点は何ですか?
18 sql-server  uuid 

2
SQL Server UniqueIdentifier / GUID内部表現
私の同僚が私に興味深い質問を送ってきたが、それは完全には説明できない。 彼はいくつかのコード(以下を含む)を実行し、それからやや予期しない結果を得ました。 本質的に、UniqueIdentifier(これから私が参照するGuid)をbinary(またはvarbinary)タイプに変換するとき、結果の前半の順序は逆になりますが、後半はそうではありません。 私の最初の考えは、システムのエンディアンが原因であり、Guidディスプレイは保存されているが、binaryフォームは保証されていないということでした。 明らかにこれは実装の詳細ですが、それについて適切な説明があったのではないかと思っていました。 コード: declare @guid uniqueidentifier = '8A737954-CBEC-40CE-A534-2AFFB5A0E207'; declare @binary binary(16) = (select convert(binary(16), @guid)); select @guid as [GUID], @binary as [Binary]; 結果: GUID Binary 8A737954-CBEC-40CE-A534-2AFFB5A0E207 0x5479738AECCBCE40A5342AFFB5A0E207 ご覧のとおり、Guid(の最後まで40CE)の前半は各セクションごとに逆方向に保存されています。つまり、の最初のセクションGuidは後方に、次に2番目のセクション、次に3番目のセクションになりますが、セクションの順序は保持されます。その後、最後の2つのセクションは、に表示される正確な順序で保存されGuidます。 誰でもこれを説明できますか?(より大きなテストセットを以下に示します。) コード: declare @guid_to_binary table ( [id] int identity(1,1), [guid] uniqueidentifier, [binary_conversion] binary(16) ); declare @i int = 1; …

1
psql 9.5:gen_random_uuid()が機能しない
SELECT gen_random_uuid() 出力を生成します ERROR: function gen_random_uuid() does not exist SQL state: 42883 Hint: No function matches the given name and argument types. You might need to add explicit type casts. 私は走ったCREATE EXTENSION pgcrypto;、選択したデータベースにしてSELECT gen_random_bytes(1)(完全に動作しgen_random_bytes、他のデータベースでは動作しませんpgcrypto拡張子が手動で作成されていません)。 % psql --version psql (PostgreSQL) 9.5.3 Ubuntuバージョンは16.04です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.