Je krijgt dit bereik met bigint:
-2^63 to 2^63-1
also known as roughly:
-9.2 x 10^18 to 9.2 x 10^18
Je krijgt dit bereik met decimaal (18,0) :
-10^18 to 10^18
Decimaal:opslagbytes per precisie
Precision Storage Bytes
1-9: 5
10-19: 9
20-28: 13
29-38: 17
Gehele typen en opslagbytes
integer type Storage Bytes
bigint 8
int 4
smallint 2
tinyint 1
Gedachten
De twee voorbeelden die in uw vraag zijn geplaatst, leveren feitelijk vrijwel dezelfde hoeveelheid unieke waarden op.
Ook zul je geen significante prestatieverandering zien, ongeacht je keuze, maar je zult een verandering in efficiëntie zien voor andere programmeurs in het team als je decimalen gaat gebruiken waar programmeurs een geheel getal verwachten. Dit is een klein punt.
Om uw specifieke probleem aan te pakken, als u een groter bereik wilt, gebruikt u Decimal(38,0). Dit geeft je:
-10^38 to 10^38
Als u zich zorgen maakt over snelheid, gebruik dan de minimale precisie die de levensduur van uw software meegaat.
Als je de tijd niet in nanoseconden meet, kies dan de optie die het beste past bij de mentaliteit van je programmeurs en je wens om een zeer lange reeks getallen te hebben.
Referenties