2013-07-26 14 views
8

Czy identyfikatory GUID są uporządkowane na czas? Mam na myśli, jeśli użyjesz ORDER BY z typem zmiennej GUID, czy rekordy tworzone ostatnio się spóźnią?Czy identyfikatory GUID są uporządkowane na czas? Jeśli ORDER BY używane z typem zmiennej GUID, czy rekordy utworzone ostatnio się spóźnią?

+1

Zawsze nie pomyślał ale zrozumiałem, że nie wiem wiem o tym. Interesujące pytanie (+1). – Mansfield

+3

Identyfikatory GUID same w sobie są zaledwie 128 bitami danych o niewielkiej strukturze. Istnieją różne sposoby * generowania * guidów, więc jeśli chcesz zadać to pytanie, musisz powiedzieć, w jaki sposób * generujesz * guidy. –

+1

Na marginesie, jeśli utworzysz tabelę na serwerze SQL mającą klucz klastrowany typu GUID, porządek fizyczny wierszy jest taki sam, jak identyfikatory GUID, tj. W żadnej określonej kolejności, co oznacza, że ​​każdy wstawiony nowy wiersz często prowadzi do podziału strony to jest szkodliwe dla wydajności. Najważniejsze: nie używaj identyfikatorów GUID jako kluczy klastrowych, jeśli możesz tego uniknąć. –

Odpowiedz

10

Prosty LINQPad makieta odpowiedzi na swoje pytanie:

var dictionary = new Dictionary<int, Guid>(); 

for (int i = 0; i < 5; i++) 
    dictionary.Add(i, Guid.NewGuid()); 

dictionary.OrderBy(d => d.Value); 

wyniki w:

Key Value 
2 3624183d-581a-45bc-9d3d-cafeddaf8585 
0 4b4685c9-f163-4694-ae8c-4b83402a293c 
4 7a14d8e4-d870-4f33-bfb3-f4337b756e18 
1 b93131c7-c0d7-42b4-82b5-e3cc456214a9 
3 cfdc0bc8-7f5a-4601-a927-a759bb9e33c6 
1

proszę zobaczyć this

globalnie unikalny identyfikator (GUID,/ɡwɪd/lub/ɡuːɪd /) to unikalny numer referencyjny stosowany jako identyfikator w oprogramowaniu komputerowym. Termin GUID zwykle odnosi się do różnych implementacji standardu unikalnego identyfikatora UUID (uniwersalny identyfikator). 1 Identyfikatory GUID są zwykle przechowywane jako wartości 128-bitowe i są zwykle wyświetlane jako 32 cyfry szesnastkowe z grupami rozdzielonymi myślnikami, takimi jak {21EC2020-3AEA-1069-A2DD-08002B30309D}. Identyfikatory GUID wygenerowane z losowych numerów zawierają 6 stałych bitów, mówiąc, że są losowe i 122 losowych bitów; całkowita liczba unikatowych takich identyfikatorów GUID wynosi 2122 lub 5,3 × 1036. Ta liczba jest tak duża, że ​​prawdopodobieństwo, że ta sama liczba wynosi wygenerowana losowo dwa razy, jest nieistotne; jednak inne wersje GUID mają różne właściwości unikalności i prawdopodobieństwa, począwszy od gwarantowanej unikalności do prawdopodobnej nie-unikalności.