私たちはいくつかのGUIDをMS SQLデータベースに保存しています。 Guid.ToString()
を実行してからvarchar(64)
に渡すレガシーコードがあります。固有の識別子パラメータを使用してコードを渡す新しいコードがあります。 MS SQL Managementスタジオを使用して結果を見ると、彼らは異なって見えます。最初の3つのブロックのバイト順は逆ですが、最後のブロックは同じままです。どうして? SQL ServerではなぜGuid.ToString()はバイト順を逆にしますか?
8
A
答えて
8
UNIQUEIDENTIFIERフィールドをインデックス化することができ、そのため「後方」はあります。
GUIDはマシン固有の情報と「イベント時」の両方の情報から生成できます。
.NETのデフォルトGUIDはランダムですが、にextern呼び出しでそれからシーケンシャルGUIDを取得することができます。
[DllImport("rpcrt4.dll", SetLastError = true)]
static extern int UuidCreateSequential(out Guid guid);
これが連続しているあなたのMACアドレス(MSDN docs)に基づいて、あなたのGUIDを取得します。
あなたはこれらのシーケンシャルGUIDを.ToString()
なら、あなたは残りの部分が一定しながら、文字列の最初の部分は、異なる表示されます。
これは、GUIDの間の等価性チェックが速く(違いは開始時になるように)と切り捨てもののために変化を改善します。
列を検索するためのSQLServerは、電話帳や辞書と同様にインデックスを構築します。 "Over *"で始まる単語を検索する方が、 "* flow"で終わる単語を見つけるよりもはるかに迅速です。これは、前後にそれらを保存するように、SQL Serverの任意のシーケンシャルGUIDは、最初の繰り返し値を格納する必要があることを意味します。
関連する問題
- 1. NSDataの逆順バイト
- 2. なぜHttpURLConnection.getHeaderFields()は逆の順序でリストを返しますか?
- 3. なぜfputsとfprintfは逆のストリーム順
- 4. なぜPythonのリストの理解は逆順になりますか?
- 5. HighChartsがシリーズの順序を逆にするのはなぜですか?
- 6. ブートストラップ3.1.1で列の順序が逆になるのはなぜですか?
- 7. BaseAdapter.notifyDataSetChangedは要素の順序を逆順にします
- 8. なぜDataOutputStream.writeUTF()は先頭に2バイトを追加しますか?
- 9. なぜCVPixelBufferGetDataSizeは常に32バイトのデータを返しますか?
- 10. 逆順で配列をソートする - 逆順でない
- 11. C#NewtonはJSONを逆順で逆シリアル化します
- 12. float:rightアイテムの順番を逆順にします
- 13. バックボーンルーティングは、順方向か逆方向かを検出します
- 14. なぜmode_tは4バイトを使用しますか?
- 15. .Netネイティブコンパイルループが逆の順序であるのはなぜですか?
- 16. スレッドのメッセージが逆の順序で来るのはなぜですか?
- 17. Django:なぜOneToOneFieldの逆はタプルを返しますか?
- 18. Codeigniterページネーションリンクは降順/逆順でリンクされますか?
- 19. Hibernateは1対1の逆方向マッピングを逆順にします
- 20. MySQLを逆順にする
- 21. クライアントがバイトを受信しないのはなぜですか?
- 22. WCF jsonはバイト配列の例外を逆シリアル化します
- 23. は、アンドロイドのボタンのタイトルシャドウを逆順に実装します。
- 24. usortは逆順に配列を返します
- 25. awkは両方の行と単語を逆順にします。
- 26. matlabのベクトルまたは行列の要素の逆順/逆順は?
- 27. なぜread()は文字列ではなくバイトを出力しますか?
- 28. なぜ2番は2バイトのスペースではなく1バイトを使用していますか?
- 29. なぜcreateDataFrameは列の順序を変更しますか?
- 30. 逆方向イテレータを順方向イテレータに変換できないのはなぜですか?