SQL Server BIGINT o DECIMAL (18,0) para clave primaria

Tenemos una base de datos SQL Server 2005 para la que queremos mejorar el rendimiento de la eliminación / inserción / selección masiva y noto que usadecimal(18,0) por sus claves principales. Entiendo que esto nos dará muchos más valores quebigint pero esperaba que pudiera ser una victoria rápida y, según mis cálculos, debería durarnos muchos millones de años de crecimiento.

Veo en el .net docs decimales toman 16 bytes en lugar de los 8 requeridos por longs pero en SQL Server parecebigint take 8 bytes pero eldecimal(18,0) solo toma 5 bytes - como también visto porselect DATALENGTH(max(id)) from table. ¿Es esto correcto

Hay alguna otra razonbigint podría ser más lento o debería seguir condecimal(18,0)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta