我有一个定期进行大量插入和删除的表(因此主 id 列的数字序列存在很大间隙)。它有一个类型为“int”的主 id 列,已更改为“bigint”。尽管发生了这种变化,这种数据类型的限制在未来的某个时候也将不可避免地被超出(当前的使用情况表明这种情况将在明年左右发生)。
您如何处理这种情况?我想知道(震惊恐怖)我是否需要主键列,因为它在任何查询中都没有以任何明显的方式使用或被其他表引用等。删除该列是一个解决方案吗?或者这种行为会让你厌恶地被驱逐出 mysql 社区?!
自动增量 ID 已经接近 5 亿大关。该表在单独的表中保存与文件数据关联的关键字。每个文件数据行在关键字表中可以有多达 30 个与之关联的关键字,因此当您不断插入和删除数以万计的文件后,它们才真正开始堆积起来。目前,关键字表包含关键字和与其关联的文件的 id,因此,如果我删除当前的主 id 列,则除了关键字 (varchar) 和文件 id (int) 字段组合之外,将没有唯一标识符,这将是一个糟糕的主键。
非常感谢所有想法/答案/经验/解决方案。
我知道一年前已经回答过这个问题,但只是继续吕克·弗兰肯的回答,
如果每秒插入 5 亿行,大约需要 1173 年才能达到 BIG INT 的极限。所以是的,我想不用担心这个
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)