-4

我必须从您那里获得一些更好的意见或答案,以解决有关通过收集对象性能问题处理数据的问题

在这里,我从大约5 到 60 万行中获取数据,以将其保存到集合对象中,我需要非常具体地针对每个类别过滤器来获取选定的数据,通常如果我想获取任何确切的数据,我会采用向量,我应该遍历它的每个索引。因此,它减慢了我的表现。

取而代之的是,我有一个计划,即哈希表将保留一个键并将其本身作为另一个哈希表的值,类似地,它将以嵌套方式增长许多 hast 表。这是否有利于更好的解决方案,这是我的常见问题。

注意:在 oracle 数据库中,每一行包含大约 15 到 17 列(许多是数组)。(这 60 万个条目)

4

1 回答 1

0

要回答标题中的问题,哈希表(HashtableHashMap)提供了良好的查找性能(O(1)),但会消耗大量内存。除了键和值的空间之外,内存开销在每个条目 8 个字的区域内。

使用哈希表来加速记录查找是一个合理的权衡。但是,使用哈希表来表示记录的字段是一个坏主意。您最好使用一个自定义类,为表的每一列提供一个字段。

然而,EJP 的评论也是中肯的。您应该考虑对数据库执行查询。在许多方面,这比构建数据和索引的内存副本并实现您自己的查询基础架构要好。

于 2013-01-04T10:40:26.907 回答