INTEGER 和 SMALLINT 数据类型存放小整数。当您事先知道要存储的最大值和最小值时,这两种数据类型适合用于包含计数、序号、数字标识代码或任何范围的整数的列。
这两种数据类型都是作为带符号二进制整数存储的。INTEGER 值有 32 位,可以表示从 –231– 1 到 231–1 的整数。
SMALLINT 值只有 16 位。它们可以表示从 –32767 到 32767 的整数。
使用 INTEGER 和 SMALLINT 的缺点是它们可以存储的值的范围有限。数据库服务器不能存储超出整数容量的值。当然,当您知道要存储的最大值和最小值时,这样的超限不是问题。
使用 BIGINT 或 INT8 的缺点在于它们使用的磁盘空间大于 INTEGER。实际大小取决于平台的字的长度。一个 INT8 或 SERIAL8 值需要 10 个字节的存储空间。BIGINT 和 BIGSERIAL 值需要 8 个字节的存储空间。