id用int还是bigint

发布网友 发布时间:2022-03-24 23:33

我来回答

2个回答

热心网友 时间:2022-03-25 01:03

bigint 带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。
int 普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

就是值得范围的问题,如果需要大于int的范围,就用bigint.

热心网友 时间:2022-03-25 02:21

你好根据你的描述,可以供你参考如下:

    tinyint:无符号范围0-255,带符号范围-128~127,需要1个字节存储。

    smallint:带符号范围:-2^15 (-32,768)~2^15 - 1 (32,767) ;无符号范围:0~65535,需要2个字节存储。

    int:带符号范围:2^31-1 ~ -2^31,即:2147483647 ~ -2147483648;无符号unsigned范围:2^32-1 ~ 0,即:4294967295 ~ 0,需要4个字节存储。

    bigint:带符号范围: -9223372036854775808~9223372036854775807;无符号范围:0~18446744073709551615,需要8个字节存储。

根据阿里发布的开发规范手册中:关于mysql建表规范,

如果确定在未来三年内表的数据会超过int的范围,那么就用bigint来作为id的数据类型。

否则考虑到mysql性能,建议使用int;

如果确定了表的记录条数很小,在255之内,那么建议用tinyint。

总结:

在工作中具体用哪一个数据类型,还是需要根据具体需求来使用。

如果是平常的一个demo,随便用哪个都行。但还是建议养成考虑性能方面来建表。


如果觉得满意,望采纳!提问者的点赞和采纳就是我们的动力和追求,谢谢!

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com