如果已经有人问过类似的问题,我很抱歉,我不确定要搜索的最佳术语以获得我所追求的内容,所以如果已经有很多其他相关问题,请告诉我,我会关闭它!
到问题!
我有一个 MySQL 数据库表,它有一个自动递增的主键,该表中的行每天通过 Web 服务器上的 cron 作业 php 脚本自动删除和重新添加一次。
该脚本每天删除和重新添加大约 110,000 行,因此主键数每天增加相同的数字。目前大约有400万。
由于我对数据库的了解有限,我不确定这是否是不好的做法。多年后,这个数字将是巨大的!它真的会变得太大吗?它目前是BIGINT字段类型。
我对拥有这个唯一主键没有任何编程需求——我永远不会根据这个数字进行搜索,但它是每行唯一的唯一标识符。
我不能只是重置索引,因为整个表没有被截断 - 每个产品类别只有其中的一部分。
处理这种情况的最佳(最有效)方法是什么?
您使用的是 8 个字节的 BIGINT。如果无符号,您可以存储在 BIGINT 中的最大值是 18446744073709551615。以每天大约 10 万行的插入速度,溢出需要 459445680541 年。
简而言之,您无需担心。
实际上,您应该考虑将此字段更改为 INT,即 4 个字节,最大值为 4294967295,您可以在溢出前使用大约 110 年。
归档时间: |
|
查看次数: |
2908 次 |
最近记录: |