主键类型:int vs long


问题内容

我知道一些软件商店已经通过将int类型用作持久类的主键来刻录。话虽如此,并不是所有的赌桌都超过了20亿。事实上,大多数都不是。

那么,你们是否只将long类型用于映射到潜在大型表的类,还是仅用于保持一致的每个持久类?什么是行业共识?

我会将这个问题保留一段时间,以便您可以与我们分享您的成功/恐怖故事。


问题答案:

即使表没有增长得很大,但周转率很高,即如果频繁删除/插入行,则Long可能是有利的。当表格保持较小状态时,您自动生成的/顺序的唯一标识符可能会增加到一个较高的数字。

我通常使用Long,因为在我的大多数项目中性能优势并不明显,但是由于溢出引起的错误将非常明显!

这并不是说Int对于其他人的场景(例如数据处理或复杂的查询系统)不是更好的选择。只是要清楚风险/收益以及它们如何影响您的特定项目。