j'utilisais quelque chose à ce jour comme celui-ci pour effectuer des requêtes ma base de données qui fonctionnait parfaitement bien:Oracle performances JDBC ResultSet
PreparedStatement prepStmt = dbCon.prepareStatement(mySql);
ResultSet rs = prepStmt.executeQuery();
Mais je devais utiliser le rs.first();
afin de pouvoir itérer sur mon rs
plusieurs fois. Donc, je l'utilise maintenant
PreparedStatement prepStmt = dbCon.prepareStatement(mySql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Ma question est liée à la performance des deux. Qu'est-ce que je perds si j'utilise la deuxième option? L'utilisation de la seconde option aura-t-elle un effet négatif sur le code que j'ai écrit jusqu'à présent? PS: Notez que mon application est une application Web à utilisateurs multiples et à base de données (sur un Weblogic 10.3.4) qui utilise une base de données Oracle 11g principale.
Merci à tous pour votre attention.
MISE À JOUR
Ma taille maximale de reslutset sera inférieure à 1000 lignes et colonnes 15-20
Pourquoi construire une liste '' de ResultSet puis utiliser cette POJO à la place, où vous voulez, n'est pas une option? Il est toujours plus facile de gérer 'List ', par comparaison. Je veux dire des choses de type données, en passant le numéro de colonne, ou le nom, ne s'applique pas là. –
Oui, c'était ce que j'avais en tête lorsque je posais la question. Si j'ai un problème de performance, je vais certainement utiliser cette approche – MaVRoSCy
@AdeelAnsari, qui peut ne pas être une option du resultset est assez grande. – Santosh