IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

problème d'optimisation traitement des données d'un ResultSet


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut problème d'optimisation traitement des données d'un ResultSet
    bonjour,
    Je fais une application avec accès à une base de données et affichage dans une interface graphique swing.
    Je fais des requêtes et lorsque je souhaite récupérer les donnée de mon ResultSet, je fais une boucle afin de mettre les données dans une structure(ArrayList, HashMap,...)
    quelque chose dans le genre suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(rs.next()) {
    				//pour chaque tuple, on rempli la map avec les deux valeurs retournées par la base
    				map.put(rs.getString(1).trim(), rs.getString(2).trim());
    			}
    La base est plutôt grande et il se trouve que lors de certaine requête, ce traitement dure longtemps(entre 5 et 10 secondes).

    Y a t-il un moyen d'optimiser ça ou suis-je destiné à avoir une appli pour les tortues?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public static Map<String, String> getDateFinQuota() {
    		Map<String, String> map = new HashMap<String, String>();
     
                    String query = "SELECT cArticle, DateFin FROM DateFinQuota Order by cArticle";
    		ResultSet rs = connexion.executeQuery(query);
     
    		try {
    			while(rs.next()) {
    				//pour chaque tuple, on rempli la map avec les deux valeurs retournées par la base
    				map.put(rs.getString(1).trim(), rs.getString(2).trim());
    			}
    			rs.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
     
    		return map;
    	}

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    Etant donné que j'utilise ce ResultSet seulement pour remplir une structure à moi, et que je ne m'en sers pas pour mettre à jour la base, j'ai pris le parti d'utiliser un RowSet (ou un FilteredRowSet).
    C'est beaucoup plus rapide mais est-ce vraiment le meilleur choix?

Discussions similaires

  1. Problème d'optimisation avec des données expérimentales
    Par demaina dans le forum Général Python
    Réponses: 8
    Dernier message: 20/05/2015, 15h38
  2. Problème: formulaire et traitement des données
    Par Pahcixam dans le forum Langage
    Réponses: 3
    Dernier message: 29/10/2006, 04h37
  3. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  4. problème dans le traitement des couleurs
    Par sironimo dans le forum Graphisme
    Réponses: 33
    Dernier message: 22/12/2005, 13h52
  5. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo