Dat hangt af van wat je doet:
- Als snelheid de belangrijkste zorg is, dan is een gewone oude
int
is waarschijnlijk groot genoeg. - Als je echt meer dan 2 miljard (met een B;) ) records hebt, gebruik dan
bigint
of een sequentiële gids. - Als u gemakkelijk wilt kunnen synchroniseren met records die op afstand zijn gemaakt, dan
Guid
is echt geweldig.
Bijwerken
Enkele aanvullende (minder voor de hand liggende) opmerkingen over gidsen:
- Ze kunnen moeilijk zijn voor indexen, en dat raakt de kern van de databaseprestaties
- Je kunt sequentiële richtlijnen gebruiken om een deel van de indexeringsprestaties terug te krijgen, maar geef een deel van de willekeur op die in punt twee wordt gebruikt.
- Guids kunnen moeilijk handmatig te debuggen zijn (
where id='xxx-xxx-xxxxx'
), maar je krijgt er ook een deel van terug via sequentiële gidsen (where id='xxx-xxx' + '123'
). - Om dezelfde reden kunnen Guids ID-gebaseerde beveiligingsaanvallen moeilijker maar niet onmogelijk maken. (Je kunt niet zomaar
'http://example.com?userid=xxxx'
typen en verwacht een resultaat te krijgen voor het account van iemand anders).