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)?

questionAnswers(2)

yourAnswerToTheQuestion