2013-01-04 99 views
-4

我一定要得到一些更好的意见或从你的答案来解决有关数据通过集合对象处理问题/ s的性能好兆头问题保存的数据是两个内存管理和更好的性能

这里我'取出由各地5数据6个十万行把它保持到集合对象从我需要去非常具体到每个类别过滤器到达选定的数据,一般我把矢量如果我想要得到任何确切的数据,我应该遍历它的每一个索引。由于这个原因,它会降低我的表现。

代替它,我有一个计划,哈希表要保持关键和本身值另一个哈希表,类似它会增加嵌套的方式很多事呢表。这对更好的解决方案有好处,这是我常见的问题。

注:每一行都包含约15至17列(其中许多是为数组)在oracle数据库(这6十万项)

+0

目前尚不清楚你的问题是什么。你能改说吗?此外,大胆的字体之间非常分散注意力。请重新格式化! –

+0

请考虑下次更好地发布问题 –

+0

定义'更好'。我无法从你的第二个建议中看到任何积极的好处,以及许多额外的编码复杂性。我也会质疑为什么你在内存中保存了50万个物品。你应该使用这个数据库:这就是它的用途。 – EJP

回答

0

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

使用哈希表来加快查找记录是一个合理的折衷。但是,使用散列表来表示记录的字段是一个坏主意。对于表的每列,使用带有字段的自定义类将会更好。

但是,EJP的评论也是相关的。您应该考虑针对数据库执行查询。在许多方面,这更好地构建数据和索引的内存副本并实现您自己的查询基础架构。

+0

谢谢你的意见 –