2009-11-05 8 views

Répondre

2

Vous pouvez utiliser ResultSet#absolute() pour cela. Cela dépend du pilote JDBC utilisé.

Mais une nouvelle question augmenterait: pourquoi ne laissez-vous pas simplement la requête SQL retourner seulement la ligne particulière d'intérêt? Cela aurait été beaucoup plus efficace que de déplacer le curseur en avant et en arrière. Ou si vous êtes intéressé par l'une des lignes, mais que vous vouliez seulement obtenir la ligne particulière, mieux vaut mapper le ResultSet sur un List<Data> afin de pouvoir utiliser List#get().

+0

J'ai besoin d'obtenir les lignes X à Z de A à Z à partir d'un grand ensemble de données, donc une liste ou en utilisant absolue et en travaillant à partir de là sont de bonnes réponses. merci – jkushner

+0

Gardez à l'esprit que cela peut être un problème de mémoire. Il n'est pas nécessaire de dupliquer tout le contenu de la base de données dans la mémoire de tas de Java si vous vouliez seulement les dernières lignes. Mieux tirer une requête SQL plus spécifique à chaque fois. Surtout si le nombre total de lignes atteint des milliers. – BalusC

+0

La seule amélioration que je peux apporter à ce script de migration de base de données est d'effectuer une limite de X à Z car j'ai besoin de toutes les données (une analyse d'index complète est requise). Merci pour les informations utiles cependant, je le regarde passer lentement de 1000 enregistrements/min d'insertion à environ 10. – jkushner

Questions connexes