未使用的细胞长度/值

时间:2015-09-16 16:37:38

标签: mysql sql database datalength

我有一个名为user_id的表列。每当新用户注册时它自动递增。

我认为将列的长度/值设置为其最大长度(4294967295)可以防止爆炸性用户注册将耗尽长度/值。

我担心如果我这样做,列中未使用的长度可能会花费数据库中的位/存储空间,这将减慢处理时间。情况会是这样吗?

1 个答案:

答案 0 :(得分:1)

99.999%的简单INT将为user_id这样的事做好工作。没有必要发疯。这允许21亿用户,或者换句话说,每天每秒钟注册两个人,为期34年。

对于像这样的事情,Twitter,Facebook,谷歌和其他一些人需要一个64位整数。我们其他人都很好。

请不要忘记INT的存储成本是4个字节,无论精度设置如何。对于64位数字,它是8个字节。这里的差异不是很大,但就指数表现而言,INT的表现会比BIGINT小一些但有意义的数量,因此全面展开BIGINT是过度的除了最极端的情况之外的所有情况。

简短回答:别担心。使用INT

相关问题