Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

O conjunto de dados jdbc armazena todas as linhas na memória jvm


Depende. Drivers diferentes podem se comportar de maneira diferente e ResultSet configurações pode se comportar de forma diferente.

Se você tiver um CONCUR_READ_ONLY , FETCH_FORWARD , TYPE_FORWARD_ONLY ResultSet , o driver quase certamente armazenará ativamente na memória o número de linhas que corresponde ao seu tamanho de busca (é claro que os dados das linhas anteriores permanecerão na memória por algum período de tempo até que sejam coletados como lixo). Se você tiver um TYPE_SCROLL_INSENSITIVE ResultSet , por outro lado, é muito provável que o driver armazene todos os dados que foram buscados na memória para permitir que você role para trás e para frente pelos dados. Essa não é a única maneira possível de implementar esse comportamento, portanto, drivers diferentes (e versões diferentes de drivers) podem ter comportamentos diferentes, mas é o mais simples e o modo como a maioria dos drivers que encontrei se comportam.