- 如果不是无符号类型,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的压力,对性能是不利的。
相关文章
- 10-20Mybatis使用- Mybatis JdbcType与Oracle、MySql数据类型对应列表 ; Mybatis中javaType和jdbcType对应关系
- 10-20MySQL中bit与Java数据类型对应
- 10-20JAVA中ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题
- 10-20理解误区——mysql中tinyint与Java的数据类型的对应关系;tinyint(1) 与tinyint(4)的区别
- 10-20jdbc中java与mysql数据类型的映射
- 10-20MySQL中BIGINT与Java数据类型对应问题
- 10-20mysql、sqlserver数据库常见数据类型对应java中的的类型探究
- 10-20关于mysql与java数据类型转化的问题——数据类型不匹配
- 10-20数据库中字段的数据类型与JAVA中数据类型的对应关系