Е, ти си изразходване на повече данни за съхраняване на числа, които никога няма да достигнете.
bigint достига до 9,223,372,036,854,775,807 в 8 байта
int достига до 2 147 483 647 в 4 байта
NUMERIC(38,0) ще отнеме, ако правя правилната математика, 17 байта.
Не е огромна разлика, но:по-малки типове данни =повече редове в паметта (или по-малко страници за същия брой редове) =по-малко дискови I/O за извършване на търсения (или индексирани, или търсене на страница с данни). Същото важи и за репликация, регистрационни страници и т.н.
За SQL Server:INT е стандарт на IEEE и е по-лесен за сравнение от процесора, така че получавате леко увеличение на производителността, като използвате INT срещу NUMERIC (който е пакетиран десетичен формат). (Забележете, че в Oracle, ако текущата версия съвпада с по-старите версии, на които съм израснал, ВСИЧКИ типове данни са пакетирани, така че INT вътре е почти същото нещо като NUMERIC( x,0), така че няма разлика в производителността)
И така, в голямата схема на нещата -- ако имате много диск, RAM и резервен I/O, използвайте какъвто тип данни искате. Ако искате да получите малко повече производителност, бъдете малко по-консервативни.
В противен случай на този етап бих го оставил както е. Няма нужда да променяте нещата.