Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

NewSequentialId no índice clusterizado UniqueIdentifier


Normalmente você criará seus índices com um FILL FACTOR apropriado para deixar espaço vazio em todas as suas páginas apenas para esse cenário. Dito isto, o índice clusterizado é reordenado quando o espaço vazio é preenchido.

Sei que você não quer discutir o uso de GUID como uma chave clusterizada, mas esse é um dos motivos pelos quais não é uma prática recomendada.

O que acontecerá é que você terá um volume crescente de divisões de página, o que levará a um nível muito alto de fragmentação à medida que você continuar inserindo linhas e precisará reconstruir seu índice com uma frequência maior para manter o desempenho alinhado.

Para um tratamento completo sobre o tema, não há melhor fonte do que

Kim
Tripp's
Blog

Como uma observação lateral, quando você está pensando em criar sua própria função de criação NewSequentialID, você provavelmente tem um problema de design e deve reconsiderar seu plano.