Hướng dẫn mysql int unsigned vs signed - mysql int chưa ký so với đã ký
Khi nào tôi nên sử dụng int unsign và ký int trong mysql? Điều gì tốt hơn để sử dụng hoặc đây chỉ là sự thích cá nhân? Bởi vì tôi đã thấy nó được sử dụng như thế này; Show
và
hỏi ngày 17 tháng 7 năm 2012 lúc 3:23Jul 17, 2012 at 3:23
2
Dưới đây là một bảng các phạm vi giá trị mỗi loại Nguồn: http://dev.mysql.com/doc/refman/5.6/en/integer-types.html
Trong trường hợp này, bạn có cột ID 0, vì vậy bạn sẽ không có tiêu cực. Do đó, sử dụng UNSIGNED . Nếu bạn không sử dụng UNSIGNED cho cột 0, giá trị tối đa có thể của bạn sẽ cao bằng một nửa (và một nửa âm của phạm vi giá trị sẽ không được sử dụng).Đã trả lời ngày 17 tháng 7 năm 2012 lúc 3:25Jul 17, 2012 at 3:25
WiseGuywiseGuyWiseguy 20.2k8 Huy hiệu vàng65 Huy hiệu bạc79 Huy hiệu đồng8 gold badges65 silver badges79 bronze badges 2 Sử dụng
Đã trả lời ngày 17 tháng 7 năm 2012 lúc 3:25Jul 17, 2012 at 3:25
WiseGuywiseGuy
20.2k8 Huy hiệu vàng65 Huy hiệu bạc79 Huy hiệu đồng Sử dụng Về cơ bản với
NaeSrneczek 13.1k5 Huy hiệu vàng52 Huy hiệu bạc77 Huy hiệu đồng1 gold badge21 silver badges26 bronze badges Đã trả lời ngày 21 tháng 11 năm 2015 lúc 16:14
SrneczeksrneczekOct 14, 2019 at 5:11
2.1131 Huy hiệu vàng21 Huy hiệu bạc26 Huy hiệu đồng
20.2k8 Huy hiệu vàng65 Huy hiệu bạc79 Huy hiệu đồng Sử dụng Về cơ bản với
NaeKamal 13.1k5 Huy hiệu vàng52 Huy hiệu bạc77 Huy hiệu đồng4 bronze badges Đã trả lời ngày 21 tháng 11 năm 2015 lúc 16:14vipin cp. Srneczeksrneczek1 is for negative and 0 is for positive values. More over negative values are coded in different way (two's complement). Example with TINYINT:
2.1131 Huy hiệu vàng21 Huy hiệu bạc26 Huy hiệu đồng Đối với giá trị số nguyên âm, Đã trả lời ngày 14 tháng 10 năm 2019 lúc 5:11Jul 18, 2017 at 12:29
Tôi nghĩ, 1) giá trị theo định dạng vài phút hoặc vài giờ hoặc giây chắc chắn sẽ là một số không âm tínhĐã trả lời ngày 15 tháng 1 năm 2016 lúc 16:55Aug 17, 2016 at 5:55
KamalkamalVipin CP 594 huy hiệu đồng3 gold badges31 silver badges51 bronze badges Tôi không đồng ý với Vipin CP. Sự thật là bit đầu tiên được sử dụng để đại diện cho dấu hiệu. Nhưng 1 là cho âm và 0 là cho các giá trị dương. Hơn các giá trị âm được mã hóa theo cách khác nhau (bổ sung của hai). Ví dụ với Tinyint:Jul 18, 2017 at 12:36
Juzraai 5.4908 Huy hiệu vàng31 Huy hiệu bạc46 Huy hiệu đồng Đã trả lời ngày 18 tháng 7 năm 2017 lúc 12:29Mar 15 at 12:16
Một điều tôi muốn thêm vào 2, đó là 3, 4 sẽ được sử dụng để đại diện cho 5. 6 Vì vậy, nếu ứng dụng của bạn chỉ chèn giá trị dương, nó sẽ chỉ định tốt hơn một cách không dấu.terryerĐã trả lời ngày 17 tháng 8 năm 2016 lúc 5:551 silver badge2 bronze badges Sự khác biệt giữa số nguyên đã ký và không dấu là gì?Phạm vi đã ký là -2147483648 đến 2147483647. Phạm vi không dấu là 0 đến 4294967295. Loại này là một từ đồng nghĩa cho int. Một số nguyên lớn. The unsigned range is 0 to 4294967295 . This type is a synonym for INT . A large integer.
Sự khác biệt giữa một số nguyên đã ký và không dấu là gì?Một số nguyên đã ký là một mốc dữ liệu 32 bit mã hóa một số nguyên trong phạm vi [-2147483648 đến 2147483647].Một số nguyên không dấu là một mốc dữ liệu 32 bit mã hóa một số nguyên không âm trong phạm vi [0 đến 4294967295].Số nguyên đã ký được thể hiện trong ký hiệu bổ sung TWOS.
INT không dấu có tốt hơn để sử dụng không?Hướng dẫn kiểu Google C ++ khuyến nghị tránh các số nguyên không dấu ngoại trừ trong các tình huống chắc chắn yêu cầu nó (ví dụ: định dạng tệp thường lưu trữ kích thước trong UINT32_T hoặc UINT64_T - không có điểm nào trong việc lãng phí bit có chữ ký sẽ không bao giờ được sử dụng). (for example: file formats often store sizes in uint32_t or uint64_t -- no point in wasting a signedness bit that will never be used).
Không dấu nhanh hơn đã ký?Đã ký hợp đồng so với số nguyên không dấu trong hầu hết các trường hợp, không có sự khác biệt về tốc độ giữa việc sử dụng số nguyên đã ký và không dấu.Nhưng có một vài trường hợp có vấn đề: phân chia theo không đổi: không dấu nhanh hơn được ký khi bạn chia một số nguyên với hằng số.Điều này cũng áp dụng cho nhà điều hành modulo %.there is no difference in speed between using signed and unsigned integers. But there are a few cases where it matters: Division by a constant: Unsigned is faster than signed when you divide an integer with a constant. This also applies to the modulo operator %. |