Почему вы выполняете индивидуальные запросы для этих 3000 pid. Если вы уверены, что вы, чтобы выполнить что много запросов, которые вы можете переключиться на любой из них, который лучше всего подходит для вашей логики:
select pname from project where pid BETWEEN 1000 and 4000;
select pname from project where pid IN (1000, 1001, ...);
select pname from project where pid > 2000 and pid < 5000;
Вы можете использовать их в своих где предложение изменить свой SQL запрос
Operator Description
= Equal
<> Not equal. Note: In some versions of SQL this operator may be written as !=
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern
IN To specify multiple possible values for a column
EDIT
Если значения являются динамическими, то
String selectSQL = "select pname from project where pid IN(?, ?);";
dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(selectSQL);
preparedStatement.setInt(1, 2000);
preparedStatement.setInt(2, 5000);
// execute select SQL stetement
ResultSet rs = preparedStatement.executeQuery();
use 'select pname из проекта, где pid IN (xx, yy, ...)'? –
Нет такой банки. Как было предложено в предыдущем ответе, вы можете уменьшить количество запросов. Если по какой-то причине вам необходимо последовательно выполнять эти вызовы, тогда вам нужно будет настроить БД (добавление индекса на pid в случае его не первичного ключа и т. Д.). –
Мне нужно выполнить это утверждение из java, а также как связать значения внутри этого [IN()] с помощью подготовленного оператора. потому что значения ** динамические ** .. – karthik