identyfikatory GUID mogą wydawać się naturalnym wyborem dla twojego klucza podstawowego - a jeśli naprawdę musisz, prawdopodobnie możesz argumentować, aby użyć go jako klucza podstawowego tabeli. To, czego zdecydowanie odradzam, to używanie kolumny GUID jako klucza klastrowania, co SQL Server robi domyślnie, chyba że wyraźnie zabronisz mu tego.
Czy powinienem używać identyfikatora GUID czy int jako klucza podstawowego?
int jest mniejszy, szybszy, łatwy do zapamiętania, zachowuje kolejność chronologiczną. A jeśli chodzi o Guid, jedyną zaletą, jaką znalazłem, jest to, że jest wyjątkowy. W takim przypadku Guid byłby lepszy niż i int i dlaczego? Z tego, co widziałem, int nie ma żadnych wad poza limitem liczby, który w wielu przypadkach jest nieistotny.
Kiedy należy używać identyfikatora GUID?
Używasz go wszędzie tam, gdzie potrzebujesz identyfikatora, który gwarantuje, że będzie inny niż wszystkie. Identyfikatory GUID są zazwyczaj używane kiedy będziesz definiował identyfikator, który musi być inny niż identyfikator, który będzie definiował ktoś inny (poza twoją kontrolką) Jedno takie miejsce w identyfikatorze interfejsu w kontrolkach ActiveX.
Jakiego typu danych należy użyć dla klucza podstawowego?
Całkowite (liczby) typy danych są najlepszym wyborem dla klucza podstawowego, po którym następują typy danych znaków o stałej długości. SQL Server przetwarza wartości typu danych liczbowych szybciej niż wartości typu danych znakowych, ponieważ konwertuje znaki na równoważne wartości ASCII przed przetwarzaniem, co jest dodatkowym krokiem.
Czy używanie ciągu jako klucza podstawowego jest złe?
Krótka odpowiedź: Doskonale można użyć łańcucha jako klucza głównego.