Как реагирует объект Java ResultSet при вызове next (), если план выполнения сервера SQL выполняет потоковую передачу данных? - PullRequest
1 голос
/ 08 января 2020

У меня есть сценарий, на который я не могу найти четкий ответ в документации SQL server jdb c.

Из плана выполнения моего запроса SQL я знаю, что он начнет передавать данные обратно, как только найдет первый результат, но результаты будут время от времени обнаруживаться в моем очень большом наборе данных.

Когда я вызываю next () на моем ResultSet изначально, будет только N строк из общего количества. В этом предположении я предполагаю, что размер выборки превышает число строк, готовых для передачи на мой код java с сервера SQL. После того, как я обработал их, я снова вызвал бы next (), чтобы получить следующий пакет результатов, но если сервер SQL все еще выполняет запрос, но еще не нашел строк для возврата, что будет делать ResultSet?

Я пытался настроить тест, но не смог получить каких-либо убедительных результатов. Кто-нибудь знает документацию о том, как это работает? Если java JDB C не указывает, как он должен работать, то мне особенно нужны последние драйверы SQL server 2017.

...