比较两个数据集并查找结果的最有效方法

时间:2014-08-07 23:54:38

标签: java performance processing-efficiency

如果我有两个来自SQL表的数据集,就像这样。表A包含给定项的3个可能值,表B包含文件名的完整路径, 我有两个来自SQL表的数据集,看起来像这样。

TABLE A:
Column1    Column2        Column3
Value     SecondValue     ThirdValue
Value2    SecondValue2    ThirdValue2
Value3    SecondValue3    ThirdValue3

Table B:
Column1
PathToFile1\value.txt
PathToFile2\SecondValue2_ThirdValue.txt
PathToFile3\ThirdValue3_Value3.txt

我可以将任何表/列提取到文本中,我将使用Java来查找完整路径(表B),其中包含(表A)中一行中值的任意组合。 表B可以包含诸如c:\ directory \ file.txt,c:\ directory \ directory2 \ filename.txt或c:\ filename.txt

之类的值

在给定文件名的情况下,搜索路径的最有效方法是什么?

我有两个同事的想法,但我不确定它们是否是最佳解决方案。

1.在哈希映射中存储从表B解析的文件名和路径,然后使用A中的值作为键来查找路径。对A的每一列执行此操作。

2.按字母顺序排序并使用字母顺序进行二进制搜索。

澄清:

表B中文件的路径可以包含表A中列中的任何一个值。这就是它们之间的关系。输出必须最终在Java中运行,我想探索Java中的选项,因为知道SQL对于数据的关联会更快。还在表格部分添加了一些信息。如果需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我发现这有助于我的答案,虽然不是我的问题的具体答案。我认为使用本文中的信息可以实现最佳实践。

http://www.javacodegeeks.com/2010/08/java-best-practices-vector-arraylist.html