mysql - 单元格未使用的长度/值

标签 mysql sql database datalength

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

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

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

最佳答案

99.999% 的情况下,简单的 INT 就能完成类似 user_id 之类的工作。没有必要发疯。这允许 21 亿用户,或者换句话说,每天每秒都有两个人注册,持续 34 年。

Twitter、Facebook、Google 和其他一些公司将需要 64 位整数来完成此类操作。我们其他人都很好。

不要忘记,无论精度设置如何,INT 的存储成本都是 4 个字节。对于 64 位数字来说,它是 8 个字节。这里的差异并不是什么大问题,但就索引性能而言,INT 的性能将比 BIGINT 好一点,但幅度很小,但很有意义,因此使用 BIGINT除了最极端的情况外,code> 全面的杀伤力太大了​​。

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

关于mysql - 单元格未使用的长度/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32614151/

相关文章:

php - SQL、PHP : when submit plus 1 in table_field specified from dropdown

mysql - 自动清除 mariadb 二进制日志

mysql - 我无法在Windows中更改mysql的datadir

mysql - 在已排名 x 次的项目中排名最低的项目

MySQL 多列、单查询

mysql数据库结构

mysql - 插入新列,增加所有行

mysql - 如何提高查询的性能?

mysql - 删除在第 n 列中也具有相同值的重复行

.net - ODBC 对比 JDBC 对比 ADO.NET