🆔
← Voltar aos guias

UUID v4 vs UUID v7 — Qual Você Deve Usar?

· Tags: uuid-v7, uuid-v4, rfc-9562, database, primary-key

O UUID v7, padronizado na RFC 9562 (maio de 2024), aborda a principal fraqueza do UUID v4: o desempenho ruim de índices de banco de dados.

UUID v4 (Aleatório)

O UUID v4 usa 122 bits aleatórios e 6 bits fixos. Isso garante unicidade sem coordenação, mas produz IDs distribuídos aleatoriamente ao longo do tempo. Quando usado como chave primária B-tree em um banco de dados, IDs aleatórios causam divisões de página e fragmentação de índice, degradando o desempenho de escrita.

UUID v7 (Ordenado por Tempo)

O UUID v7 usa um timestamp Unix de 48 bits em milissegundos seguido por bits aleatórios. O prefixo do timestamp torna os UUIDs naturalmente classificáveis por tempo de criação, resolvendo o problema de fragmentação B-tree. As chaves permanecem globalmente exclusivas e podem ser geradas sem coordenação.

Comparação

| | UUID v4 | UUID v7 | |---|---------|---------| | Padrão | RFC 9562 | RFC 9562 | | Classificável | Não | Sim (por tempo) | | Desempenho no BD | Ruim | Bom | | Exclusivo | Sim | Sim | | Vaza timestamp | Não | Sim (precisão de milissegundos) |

Recomendação: Use o UUID v7 para chaves primárias de banco de dados e o UUID v4 quando você explicitamente não quiser revelar o tempo de criação. Experimente ambos em nosso gerador de UUID.

UUID v4 vs UUID v7 — Qual Você Deve Usar? - CoolTool