UUIDs são práticos, versáteis e parecem resolver tudo — até o momento em que o sistema começa a ficar mais lento, as queries param de performar bem e o log vira um emaranhado de identificadores difíceis de rastrear.
Isso acontece com mais frequência do que parece, e quase sempre por pequenos descuidos no uso do UUID.
A verdade é que o UUID não é complicado, mas usá-lo sem entender seus impactos pode gerar sérios problemas de desempenho, indexação e legibilidade.
Vamos explorar os erros mais comuns e como evitá-los no dia a dia de desenvolvimento.
1. Usar UUID sem necessidade real
Nem todo sistema precisa de UUID.
Em projetos simples, como blogs ou pequenos e-commerces, um ID incremental (
1, 2, 3...) é mais rápido e ocupa menos espaço.UUID é vantajoso em sistemas distribuídos ou multiplataforma, onde múltiplas fontes de dados precisam criar identificadores sem conflitos.
Muitos desenvolvedores adotam UUID “porque é mais moderno”, mas isso só aumenta o tamanho das tabelas e torna a leitura mais difícil.
Antes de decidir usá-lo, pergunte-se: meu sistema realmente precisa gerar IDs em diferentes locais?
Se não, talvez um
INT AUTO_INCREMENT resolva melhor.
2. Armazenar UUIDs em formato incorreto
Um erro muito comum é armazenar o UUID como
VARCHAR(36).Embora funcione, esse formato ocupa mais espaço e torna o índice mais pesado.
Em bancos como PostgreSQL e MySQL, há tipos específicos para UUID, como
UUID ou BINARY(16).Esses tipos são mais rápidos de indexar e ocupam metade do espaço.
Exemplo em PostgreSQL:
CREATE TABLE pedidos (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
descricao TEXT
);
Já em MySQL:
