`

MySql 类型 Integer 总结

阅读更多

     追一下公司的产品的源码,感觉做这个架构的人基本功真是挺高的。且不说缓存和Map的应用了,

     下面说说我今天的所见。

     公司的Database是Oracle,看看底层表的结果,就拿User表中字段Status(状态)/Type(类型)的类型用了numeric(2);这里很明显是为了节省空间了。想想看,现在硬件更新那么快,很多时候为了开发效率就忽略了考虑空间;可是放宽了开发周期我们又有几个考虑效率的呢?

    这绝对是一个问题,一个关于程序员软实力的问题,这里不作长谈、不作评论。下面我把自己整理好的mysql的整型分享一下。

 

mysql的数据类型int、bigint、smallint 和 tinyint取值范围使用整数数据的精确数字数据类型。
 
1、bigint:从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
存储大小为 8 个字节。
2、int:从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
3、smallint:从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
4、tinyint:从 0 到 255 的整型数据。存储大小为 1 字节。

 

 

提醒:

    1、在支持整数值的地方支持 bigint 数据类型。一般,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。

    2、在数据类型优先次序表中,bigint 位于 smallmoney(保存货币值数据类型,范围为-214748.3647到+214748.3647 最大长度为4字节。) 和 int 之间。

    3、只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics