SQL Server BIGINT ou DECIMAL (18,0) para chave primária
Temos um banco de dados do SQL Server 2005 para o qual queremos melhorar o desempenho de excluir / inserir / selecionar em massa e noto que ele usadecimal(18,0)
por suas chaves primárias. Entendo que isso nos dará muito mais valores do quebigint
, mas esperava que fosse uma vitória rápida e nos deveria durar muitos milhões de anos de crescimento pelos meus cálculo
Vejo no .net docsecimais @ ocupam 16 bytes em vez dos 8 exigidos por longos, mas no SQL Server parece combigint
take 8 bytes mas odecimal(18,0)
leva apenas 5 bytes - como também é visto porselect DATALENGTH(max(id)) from table
. Isso está correto?
Existe algum outro motivobigint
pode ser mais lento ou devo seguirdecimal(18,0)
?