如果不是无符号类型,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数据类型对应问题


基础教程推荐
猜你喜欢
- 线上Spring CPU 高负载解决思路详解 2023-05-14
- Java实现redis分布式锁的三种方式 2023-03-30
- 基于Java的Scoket编程 2023-08-07
- java开源项目jeecgboot的超详细解析 2023-06-17
- JSP使用Servlet过滤器进行身份验证的方法 2023-08-03
- Java开发利器之Guava Cache的使用教程 2023-05-24
- 图解Java经典算法插入排序的原理与实现 2023-05-14
- Java递归实现评论多级回复功能 2023-02-04
- springboot自定义配置及自定义对象映射的全流程 2023-06-05
- 有没有办法从Java Play 2 Framework中的数据库生成代码? 2023-11-01