To zależy od tego, co robisz:
- Jeśli szybkość jest najważniejsza, to zwykły stary
intjest prawdopodobnie wystarczająco duży. - Jeśli naprawdę będziesz miał więcej niż 2 miliardy (z literą B;) ) rekordów, użyj
bigintlub sekwencyjny przewodnik. - Jeśli chcesz mieć możliwość łatwej synchronizacji z rekordami utworzonymi zdalnie, wtedy
Guidjest naprawdę świetny.
Aktualizacja
Niektóre dodatkowe (mniej oczywiste) uwagi dotyczące przewodników:
- Mogą być trudne dla indeksów, a to ogranicza wydajność bazy danych
- Możesz użyć sekwencyjnych guidów, aby odzyskać część wydajności indeksowania, ale zrezygnuj z losowości użytej w punkcie drugim.
- Ręczne debugowanie guidów może być trudne (
where id='xxx-xxx-xxxxx'), ale część z nich można odzyskać również za pomocą sekwencyjnych guidów (where id='xxx-xxx' + '123'). - Z tego samego powodu Guidy mogą utrudnić ataki na zabezpieczenia oparte na identyfikatorach, ale nie uniemożliwić ich. (Nie możesz po prostu wpisać
'https://example.com?userid=xxxx'i spodziewać się wyniku dla cudzego konta).