こんにちは!
1,500 万行のテーブルでクエリしたい 100 万の異なる単語があります。単語と同義語の結果は、各クエリの後に処理されます。
テーブルは次のようになります。
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));
}
...
これは信じられないほど遅いです。このようなことを行うための最速の方法は何ですか?
乾杯、クリス