Я пытаюсь выбрать 100 строк в базе данных, которая содержит 100000 строк, и обновить эти строки после.
проблема в том, что я не хочу дважды заходить в БД для этой цели, так как обновление помечает только эти строки как "прочитанные".
Есть ли способ сделать это в Java, используя простые библиотеки JDBC? (надеюсь, без использования хранимых процедур)
обновление: хорошо, вот некоторые уточнения.
есть несколько экземпляров одного и того же приложения, работающего на разных серверах, все они должны выбрать 100 строк «UNREAD», отсортированных по столбцу creation_date, прочитать данные BLOB-объекта внутри него, записать их в файл и передать этот файл на некоторый сервер , (Я знаю доисторический, но требования есть требования)
Часть чтения и обновления предназначена для того, чтобы каждый экземпляр получал различный набор данных. (по порядку такие хитрости, как шансы и четности, не сработают: /)
Мы выбираем данные для обновления. данные передаются по проводам (мы ждем и ждем), а затем мы обновляем их как «ЧИТАТЬ». затем отпустите блокировку для чтения. все это занимает слишком много времени. Одновременно читая и обновляя, я хотел бы сократить время блокировки (с момента, когда мы используем select для обновления, до фактического обновления), чтобы при использовании нескольких экземпляров увеличивалось число считываемых строк в секунду.
Еще есть идеи?