Това зависи от това какво правите:
- Ако скоростта е основната грижа, тогава обикновен стар
int
вероятно е достатъчно голям. - Ако наистина ще имате повече от 2 милиарда (с B;) ) записа, тогава използвайте
bigint
или последователно ръководство. - Ако трябва да можете лесно да синхронизирате със записи, създадени от разстояние, тогава
Guid
е наистина страхотно.
Актуализация
Някои допълнителни (по-малко очевидни) бележки относно ръководствата:
- Те могат да бъдат трудни за индексите и това се отразява в основата на производителността на базата данни
- Можете да използвате последователни ръководства, за да върнете част от производителността на индексирането, но се откажете от част от произволността, използвана в точка втора.
- Ръководствата могат да бъдат трудни за отстраняване на грешки на ръка (
where id='xxx-xxx-xxxxx'
), но получавате част от това обратно и чрез последователни ръководства (where id='xxx-xxx' + '123'
). - По същата причина Guids могат да направят базираните на ID атаки за сигурност по-трудни, но не и невъзможни. (Не можете просто да въведете
'http://example.com?userid=xxxx'
и очаквайте да получите резултат за нечий друг акаунт).