我创建了一个列id为int数据类型的表。但是,我意识到int类型可能无法保存我可能放在表中的某些值。我想知道,如果我将列定义为bigint,它是否会占用“空间”,还是在我将值放入列之前使用数据库上的空格?我正在使用sql server 2008 R2。谢谢。
答案 0 :(得分:5)
int总是使用4个字节,bigint总是使用8个字节。存储的实际值不会影响字段的大小。
答案 1 :(得分:1)
每次输入任何数字,甚至1,它将使用完整的8个字节。因此额外的存储开销是4bytes *行数。如果你担心你的数字会增长到2,147,483,647,那么你应该使用bigint。