Isso depende do que você está fazendo:
- Se a velocidade for a principal preocupação, então um simples
intprovavelmente é grande o suficiente. - Se você realmente tiver mais de 2 bilhões (com um B;) ) de registros, use
bigintou um guia sequencial. - Se você precisar sincronizar facilmente com registros criados remotamente, então
Guidé realmente ótimo.
Atualizar
Algumas notas adicionais (menos óbvias) sobre os Guids:
- Eles podem ser difíceis para os índices, e isso prejudica o desempenho do banco de dados
- Você pode usar guias sequenciais para recuperar um pouco do desempenho da indexação, mas abandone um pouco da aleatoriedade usada no ponto dois.
- Os guias podem ser difíceis de depurar manualmente (
where id='xxx-xxx-xxxxx'), mas você também obtém parte disso por meio de guias sequenciais (where id='xxx-xxx' + '123'). - Pelo mesmo motivo, os Guids podem tornar os ataques de segurança baseados em ID mais difíceis, mas não impossíveis. (Você não pode simplesmente digitar
'https://example.com?userid=xxxx'e esperar obter um resultado para a conta de outra pessoa).