Bạn nhận được phạm vi này với bigint:
-2^63 to 2^63-1
also known as roughly:
-9.2 x 10^18 to 9.2 x 10^18
Bạn nhận được phạm vi này với số thập phân (18,0) :
-10^18 to 10^18
Số thập phân:Số byte lưu trữ trên mỗi độ chính xác
Precision Storage Bytes
1-9: 5
10-19: 9
20-28: 13
29-38: 17
Loại số nguyên và byte lưu trữ
integer type Storage Bytes
bigint 8
int 4
smallint 2
tinyint 1
Suy nghĩ
Hai ví dụ được đăng trong Câu hỏi của bạn thực sự mang lại số lượng giá trị duy nhất gần như giống nhau.
Ngoài ra, bạn sẽ không thấy sự thay đổi hiệu suất đáng kể cho dù lựa chọn của bạn là gì, nhưng bạn sẽ thấy sự thay đổi về hiệu quả đối với các lập trình viên khác trong nhóm nếu bạn bắt đầu sử dụng số thập phân trong đó các lập trình viên đang mong đợi một số nguyên. Đây là một điểm nhỏ.
Để giải quyết vấn đề cụ thể của bạn, nếu bạn muốn một phạm vi lớn hơn, hãy sử dụng Decimal (38,0). Điều này mang lại cho bạn:
-10^38 to 10^38
Nếu bạn lo lắng về tốc độ, hãy sử dụng độ chính xác tối thiểu sẽ kéo dài tuổi thọ của phần mềm của bạn.
Nếu bạn không đo thời gian bằng nano giây, thì hãy chọn tùy chọn phù hợp nhất với tư duy của lập trình viên và mong muốn có một bộ số rất dài của bạn.
Tài liệu tham khảo