【发布时间】:2010-09-22 00:19:16
【问题描述】:
生日快乐!
我想在一个有 1500 万行的表中查询一百万个不同的单词。每次查询后都会处理同义词和单词的结果。
表格如下:
synonym word
---------------------
ancient old
anile old
centenarian old
darkened old
distant far
remote far
calm gentle
quite gentle
目前在 Java 中是这样完成的:
....
PreparedStatement stmt;
ResultSet wordList;
ResultSet syns;
...
stmt = conn.prepareStatement("select distinct word from table");
wordList = stmt.executeQuery();
while (wordList.next()) {
stmt = conn.prepareStatement("select synonym from table where word=?");
stmt.setString(1, wordList.getString(1));
syns = stmt.executeQuery();
process(syns, wordList.getString(1));
}
...
这是令人难以置信的慢。做这种事情的最快方法是什么?
干杯, 克里斯
【问题讨论】:
-
我假设你在 word 列上有一个索引?
-
是的,单词列上有索引。