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ą?
Odpowiedz
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
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.
W systemie Windows identyfikatory GUID (UUID) są tworzone z kryptograficznego generatora liczb losowych z UuidCreate. Są to UUID w wersji 4 pod względem RFC 4122. Nie ma znaczników czasowych ani kart ethernetowych, chyba że używasz GUID starych wersji 1 szkoły utworzonej za pomocą UuidCreateSequential.
Zobacz także How Random is System.Guid.NewGuid()? (Take two)
- 1. Identyfikatory GUID w pliku SLN
- 2. Konwersja Guid na Nullable Guid
- 3. Czy identyfikatory GUID generowane w systemie Windows 2003 są bezpieczne do użycia jako identyfikatory sesji?
- 4. SCOPE_IDENTITY() dla identyfikatorów GUID?
- 5. Czy warto usunąć myślnik z identyfikatora GUID?
- 6. Czy generator GUID Microsoftu jest kryptograficznie bezpieczny?
- 7. REFERENCJE GUID
- 8. Dlaczego nie mogę ufać GUID wygenerowanemu przez klienta? Czy traktowanie PK jako złożonego klienta-GUID i GUID serwera rozwiązuje cokolwiek?
- 9. Sublime Text Insert Guid
- 10. Generowanie identyfikatora GUID z łańcucha, który nie ma formatu GUID
- 11. Nullable GUID
- 12. Czy mogę wyświetlić GUID w trybie windbg?
- 13. Czy to może spowodować wiele identycznych identyfikatorów GUID?
- 14. Czy identyfikatory GUID generowane na urządzeniach z systemem Windows CE przy użyciu .NET Compact Framework 3.5 są statystycznie unikatowe?
- 15. Nieznany typ projektu GUID
- 16. ASP.NET MVC Routing dwa GUID
- 17. Identyfikator GUID z YouTube-a:
- 18. Jak przekonwertować Guid [] na String?
- 19. LINQ Guid toString()
- 20. Play Framework GUID
- 21. COM Interfejs Guid
- 22. OrderedDict: czy wartości są również uporządkowane?
- 23. GUID generujący bez myślnika
- 24. Czy ostatnio pojawia się środa?
- 25. Guid to zero (wszystkie)?
- 26. jak utworzyć GUID?
- 27. Jak utworzyć GUID w MFC
- 28. Czy narzędzia> Utwórz identyfikator GUID są usuwane w programie Visual Studio 2012?
- 29. Generic funkcja konwersji nie wydają się działać z GUID
- 30. System.Data.Sqlite 1.0.99 porównanie GUID nie działa
Zawsze nie pomyślał ale zrozumiałem, że nie wiem wiem o tym. Interesujące pytanie (+1). – Mansfield
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. –
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ąć. –