如果不是无符号类型,BIGINT(20)的取值范围为-9223372036854775808~9223372036854775807。与Java.lang.Long的取值范围完全一致,mybatis会将其映射为Long而BIGINT(20) UNSIGNED的取值范围是0 ~ 1844674407370955161...
- 如果不是无符号类型,BIGINT(20)的取值范围为-9223372036854775808~9223372036854775807。与Java.lang.Long的取值范围完全一致,mybatis会将其映射为Long
- 而BIGINT(20) UNSIGNED的取值范围是0 ~ 18446744073709551615,其中一半的数据超出了Long的取值范围,Mybatis将其映射为BigInteger
- 有符号int最大可以支持到约22亿,远远大于我们的需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。
- 无符号int,上限为42亿,这个预留量已经是非常的充足了。使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。
沃梦达教程
本文标题为:MySQL中BIGINT与Java数据类型对应问题
猜你喜欢
- 如何给yml配置文件的密码加密(SpringBoot) 2023-06-24
- java实现模拟USB接口的功能 2023-03-15
- 用java代码帮朋友P图 2023-03-16
- java中Timer定时器的使用和启动方式 2023-08-10
- Spring Boot自定义Starter组件开发实现配置过程 2023-01-02
- Java语言中finally是否一定会执行你知道吗 2022-10-24
- Springboot-Management的项目实践 2022-11-25
- java ssm+maven实现Mysql的增删查改操作 2023-11-01
- Spring Cloud Alibaba微服务组件Sentinel实现熔断限流 2023-01-08
- Spring深入刨析声明式事务注解的源码 2023-03-06