Uso UUID em chaves primárias e considero uma boa prática.
Participei de algumas discussões sobre o assunto e o que mais se falava lá pelo ano de 2008 era a questão de velocidade em indexação, pelo tamanho da chave .
Eu, particularmente, não consigo ver muita diferença a ponto de ser relevante . Mas, minhas bases de dados são relativamente pequenas, uns 30 GB no máximo, com uns 50 ou 60 milhões de registros. Tudo funciona a contento.
Para mim, não vejo necessidade em usar autoincrenento. Nos casos em que preciso controlar números sequenciais, prefiro usar uma tabela com id e sequência e controlo programáticamente. Isso é útil, principalmente para números que não podem pular sequência, como notas fiscais, número de pedidos, número do item na nota, etc.
Em resposta a Quando utilizar UUID e quando utilizar auto-increment?
0
1
Exatamente, nos projetos em que trabalhei, e trabalho, sempre usamos UUID, por isso me veio a dúvida do nada, mas realmente muito se fala, ou se falava, sobre a velocidade e também a escalabilidade caso a base fique muito grande, porém nunca vi na prátia algo tão gigante ao ponto que o UUID fosse um empecilho
1
Sei que o SQL Server trata internamento os UUID como inteiros, então essa questão de indexação lenta pelo tamanho da chave é contornada lá. Não pesquisei sobre outros bancos.