bigint最大有多少位
bigint最多有十九位,具体原因是
bigint可以精确地表示从-2-63到2-63-1,即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数都可以由bigint表示,它占用了八个字节的存储空间。
bigint的相关应用类别
SQL Server在整数值超过int数据类型支持的范围时,将使用 bigint数据类型。为了实现兼容性,int数据类型仍是 Microsoft SQL Server 2005 中的主要整数数据类型。数据多的时候,大约有上百万条时用bigint,没有则用int,bigint要用8个字节,int用4个字节存储。
有符号int最大可以支持到约22亿,远远大于需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了。
使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。
在应用中除非明确说明,否则那些接受int表达式作为其参数的函数、语句和系统存储过程都不会改变,从而不会支持将 bigint表达式隐式转换为这些参数。
因此,当 bigint值在int数据类型支持的范围内时,SQL Server 才将 bigint隐式转换为int。如果 bigint表达式包含了一个在int数据类型支持范围之外的值,就会在运行时出现转换错误。