Est-il une façon intelligente permet de définir la taille fetch sur JdbcTemplate?

J'ai requêtes qui retournent des rapports par plage de date. Si la date de la gamme est large, 50k lignes peuvent être retournés. Si la date de plage est très petite, 10 enregistrements pourraient être retournés. J'ai trouvé que le réglage de la taille de l'extraction à 1000, quand 50k lignes sont retournées accélère considérablement le temps d'exécution. Mais la mise à 1000 alors que 10 lignes sont retournées ralentit et utilise trop de mémoire. C'est juste un exemple, j'ai beaucoup de requêtes qui retournent quelques ou plusieurs des lignes en fonction de diverses conditions (type de travail en cours d'exécution, etc).

Idéalement, ce serait bien si cela pouvait être de l'auto-défini après l'exécution de la requête (mais avant que les lignes sont retournées).

Est-il une meilleure façon de le faire?

Je suis en utilisant org.springframework.jdbc.de base.de soutien.JdbcDaoSupport.SimpleJdbcDaoSupport
getJdbcTemplate().setFetchSize(1000);

OriginalL'auteur stilltrackin | 2013-08-22