天!
我有一百万个不同的单词,我想在一个有 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));
}
...
这是令人难以置信的缓慢。做这样的事情最快的方法是什么?
干杯,克里斯