Для начала вы должны использовать PreparedStatement, а не обычный запрос, и просто каждый раз выполнять stmt.setInt(1, StopId)
.
Кроме того, лучше выбрать конкретные интересующие вас поля, а нечем select *
.
Это всего лишь общие советы JDBC, которые, вероятно, не окажут большого влияния на время выполнения, но их стоит сделать.
После этого я попытаюсь исследоватьиндексы таблиц, чтобы убедиться, что запрос, основанный на From_Station_stopID, действительно выполняется так быстро, как только может.чтобы попытаться объединить запросы, возможно, сделав его select ... from connections where From_Station_stopID in (..., ..., ...)
.
В зависимости от размера таблицы, вы можете просто захотеть заранее загрузить все это в память (возможно, в виде HashMap),и тогда вам не нужно будет обращаться к базе данных на каждой итерации.
Короче говоря, это во многом зависит от различных параметров проблемы, и вы будетеВы можете проверить, какое решение лучше всего подходит для вас.