Основна відмінність між BigInteger і int полягає в тому, що перший може зберігати більші числа, ніж другий. Тоді як int має максимальне значення 232 -1, BigInteger може зберігати числа до 2Ціле число.MAX_VALUE–1, що більш ніж у чотири мільярди разів більше.
Різниця полягає виключно в максимальному значенні, яке можна зберегти (18,446,744,073,709,551,615 для bigint(20) і 4,294,967,295 для int(10), я вважаю), відповідно до деталей на сторінці довідника MySQL Numeric Types. До речі, використання (20) і (10) в основному не має значення, якщо ви не використовуєте ZEROFILL.
BIGINT (-2^63 (-9 223 372 036 854 775 808) до 2^63-1 (9 223 372 036 854 775 807)) може зберігати набагато більше число, ніж INT (-2 ^ 31 (-2 147 483 648) до 2^31-1 (2 147 483). ,647)) можна, але використовує подвійний простір для зберігання (8 байт порівняно з 4 байтами).
Якщо говорити про розмір сховища INT і BI GINT, розмір пам'яті INT становить 4 байти, тоді як розмір пам'яті BIGINT вдвічі більший, тобто: 8 байт.
:integer — цей тип використовується ТІЛЬКИ для цілих чисел і може зберігати числа до 2,1 мільярда. :bigint — подібний до :integer, з тією різницею, що він може зберігати цілі числа приблизно до 20 цифр. :float — використовується для десяткових чисел із фіксованою точністю.
Тип даних int є основним цілим типом даних у SQL Server. Тип даних bigint призначений для використання, коли цілі значення можуть перевищувати діапазон, який підтримується типом даних int.