【发布时间】:2014-08-07 23:54:38
【问题描述】:
如果我有两个来自 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 关联数据会更快。还在表格部分添加了一些信息。如果需要更多信息,请告诉我。
【问题讨论】:
-
不知何故不清楚这些值究竟是如何相关的。您能否将
Value SecondValue ThirdValue替换为一些真实数据并将这些行相互关联? -
为什么不能在 SQL 查询本身中使用连接来完成?
-
我也不明白
-
抱歉,我想问一个棘手的问题,试图澄清一下。希望我添加的内容更清晰。
-
另外,我知道我可以在 SQL 中做到这一点,如果需要,我正在寻找一种在 java 中做到这一点的方法。
标签: java performance processing-efficiency