sql >> Databáze >  >> RDS >> Oracle

Ukládá datová sada jdbc všechny řádky v paměti jvm

Záleží. Různé ovladače se mohou chovat odlišně a odlišně ResultSet nastavení se může chovat jinak.

Pokud máte CONCUR_READ_ONLY , FETCH_FORWARD , TYPE_FORWARD_ONLY ResultSet , ovladač téměř jistě aktivně uloží do paměti počet řádků, který odpovídá vaší velikosti načtení (data pro dřívější řádky samozřejmě zůstanou v paměti po určitou dobu, dokud nebudou shromážděny). Pokud máte TYPE_SCROLL_INSENSITIVE ResultSet , na druhou stranu je velmi pravděpodobné, že ovladač uloží všechna načtená data do paměti, aby vám umožnil posouvat se v datech dozadu a dopředu. Toto není jediný možný způsob implementace tohoto chování, takže různé ovladače (a různé verze ovladačů) se mohou chovat různě, ale je to nejjednodušší a způsob, jakým se chová většina ovladačů, se kterými jsem se setkal.



  1. Resetování sloupce automatického přírůstku zpět na 0 denně

  2. doba filtrování

  3. MySQL získá poslední záznamy z více dat

  4. dotaz k rozdělení dat