Nah, Anda adalah menghabiskan lebih banyak data untuk menyimpan nomor yang tidak akan pernah Anda jangkau.
bigint naik menjadi 9.223.372.036.854.775.807 dalam 8 Byte
int naik menjadi 2.147.483.647 dalam 4 byte
NUMERIC(38,0) akan mengambil, jika saya menghitung dengan benar, 17 byte.
Bukan perbedaan besar, tetapi:tipe data yang lebih kecil =lebih banyak baris dalam memori (atau lebih sedikit halaman untuk # baris yang sama) =lebih sedikit I/O disk untuk melakukan pencarian (baik yang diindeks atau pencarian halaman data). Begitu juga untuk replikasi, halaman log, dll.
Untuk SQL Server:INT adalah standar IEEE dan lebih mudah untuk membandingkan CPU, sehingga Anda mendapatkan sedikit peningkatan kinerja dengan menggunakan INT vs NUMERIC (yang merupakan format desimal dikemas). (Catatan di Oracle, jika versi saat ini cocok dengan versi lama tempat saya dibesarkan, SEMUA tipe data dikemas sehingga INT di dalamnya hampir sama dengan NUMERIC( x,0 ) sehingga tidak ada perbedaan kinerja)
Jadi, dalam skema besar -- jika Anda memiliki banyak disk, RAM, dan I/O cadangan, gunakan tipe data apa pun yang Anda inginkan. Jika Anda ingin mendapatkan performa yang lebih baik, bersikaplah sedikit lebih konservatif.
Kalau tidak, pada titik ini, saya akan membiarkannya apa adanya. Tidak perlu mengubah banyak hal.