Du bør læse denne side fra de officielle dokumenter om resultatsæt . Det siger
Som standard hentes ResultSets fuldstændigt og gemmes i hukommelsen. I de fleste tilfælde er dette den mest effektive måde at arbejde på, og på grund af designet af MySQL-netværksprotokollen er det nemmere at implementere. Hvis du arbejder med resultatsæt, der har et stort antal rækker eller store værdier og ikke kan allokere heap-plads i din JVM til den nødvendige hukommelse, kan du bede driveren om at streame resultaterne tilbage én række ad gangen.
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
Kombinationen af et fremadrettet, skrivebeskyttet resultatsæt med en hentestørrelse på Integer.MIN_VALUE fungerer som et signal til driveren om at streame resultatsæt række for række. Herefter vil eventuelle resultatsæt, der er oprettet med sætningen, blive hentet række-for-række.
Indstilling af kun fetchSize har faktisk ingen effekt på connector-j-implementeringen.