实体的负值,当正范围被占用时?

时间:2011-12-21 17:58:31

标签: java database web-applications

在为我的应用程序中的实体分配ID之前,是否有任何问题需要考虑?

在我的应用程序中使用正范围时,存储负id范围的任何缺点?

2 个答案:

答案 0 :(得分:3)

我发现的一个缺点就是你是否需要徘徊在表演领域。

我必须处理的其中一个系统必须根据ID进行大量的地图查找。它正在查看的地图有> 4亿条目,并有多个地图。我开始使用基于Integer键的映射。然而,为了提高内存效率和速度,我最终切换到了一个数组,其中索引是关键。使用负数会抑制这种情况。

如果您必须对ID进行任何Set数学,那么任何类型的BitSet工作都会有另一个限制。

话虽如此,这是一个相当狭窄的用例。

答案 1 :(得分:1)

你有任何看起来像这样的代码:

int id = FindRecord();

if ( id > 0 )
{
    Success();
}
else
{
    Failure();
}

如果是这样,你需要重构它。