begin process at 2012 02 13 13:26:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Accelerer les requetes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Accelerer les requetes

lundi 3 septembre 2007 à 23:58:36 | Accelerer les requetes

tof008

Membre Club
Bonjour,
J'ai une petite question à vous poser : j'ai un logiciel java avec des requetes assez lourdes qui ralentissent fortement mon application (20 s pour l'affichage d'une page, alors que la requête n'est même pas tellement lourde.... :(  ! ).
Quelles solutions pourrais-je utiliser pour accélerer un peu tout ca ?
(j'ai bien vu que je pouvais utiliser les threads, mais comment faire pour séparer la requete et le graphisme?)
Merci pour votre aide !



         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 

mardi 4 septembre 2007 à 06:40:02 | Re : Accelerer les requetes

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Ben déjà donne nous le code de ta requêtes et dis nous combien d'enregistrement elle retourne...

Ensuite montre nous le code qui utilise cette requête.

As-tu fait des index dans ta base sur les champs de recherche ? Ca peut te faire gagner de précieuse secondes rien que cà !
______________________________________
DarK Sidious
mardi 4 septembre 2007 à 12:59:08 | Re : Accelerer les requetes

tof008

Membre Club
Des ce soir, je donnerais le code de ma requete...
Pour l'utilisation, je recupere les entregistrements de ma requete que je redistribue dans un tableau pour les afficher ensuite dans un JTree. Les détails arriveront avec le code.
Par contre pour ce qui est de la base de données, je n'ai malheureusement pas la possibilité de la transformer... vive la sous-traitance :(
Merci pour ton aide DarkSidious, j'enverris le code en rentrant


         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 

mercredi 5 septembre 2007 à 20:47:41 | Re : Accelerer les requetes

tof008

Membre Club
Alors comme promis mais avec un peu de retard, voilà mon code concernant ma requête :

public String[][] CellPlusDemandes(){
        String[][] tabCellDemandes=null;
        Statement pst = null;
        try {
            this.init();
            pst = this.getMyConnection().createStatement();
           
        } catch (SQLException e) {
           
            e.printStackTrace();
        }

        ResultSet rsInfos = null;
   

        try {
            rsInfos = pst.executeQuery("select cell_id,count(cell_id) from info_extra_cartellini where idcartellino in(select idcartellino from cartellini where intercettazione in(select intercettazione from intercettazioni where decreto in(select decreto from intercettazioni where descrizione = '" + AccueilGeneral.tabDecoupe[4].toString() + "'))) group by cell_id order by count(cell_id) DESC");
        } catch (SQLException e1) {
       
            e1.printStackTrace();
        }
        try {
            int i = 0;
            rsInfos.last();
            int num = rsInfos.getRow();
            tabCellDemandes= new String[num][2];
            rsInfos.first();
            while(rsInfos.next()){
                tabCellDemandes[i][0] = rsInfos.getString(1);
                tabCellDemandes[i][1] = rsInfos.getString(2);
                i = i + 1;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        this.destroy();
        return tabCellDemandes;
    }

et voici la maniere dont je traite par la suite :

public void remplirTable(String[][] tabNum){
       
        String[] tabEnTete = {"Cellule","total d'appel"};
        tableCellules = new JTable(tabNum,tabEnTete);
        scroll = new JScrollPane(tableCellules);
        scroll.setVisible(true);
    }

Voilà, j'espere que vous pourrez me donner un conseil!

Merci d'avance


         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 

mercredi 5 septembre 2007 à 21:20:00 | Re : Accelerer les requetes

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Ou là là !!! Tu fais bien plus qu'une requête là !

Utilise des relations plutôt que d'utiliser l'opérateur IN qui est très lent !


A voir si tu obtiens le même résultat, mais ta requête doit ressembler au final à un truc du genre :
select info_extra_cartellini.cell_id, count(info_extra_cartellini.cell_id)
from info_extra_cartellini, cartellini, intercettazioni
where info_extra_cartellini.idcartellino = cartellini.idcartellino AND
intercettazioni.intercettazione = cartellini.intercettazione AND
intercettazioni.descrizione = '" + AccueilGeneral.tabDecoupe[4].toString() + "')

Non seulement c'est plus simple à lire, mais surtout, mysql ne fait qu'une seulte requête et peut l'optimiser !

Car ta requêtes initiale devait faire 4 requêtes, avec une liaison incrémentale pour chaque tuples !
______________________________________
DarK Sidious
mercredi 5 septembre 2007 à 22:03:50 | Re : Accelerer les requetes

tof008

Membre Club
Merci Beaucoup DarkSidious.
Ta requete est en effet bien plus rapide... J'ai du oublier mes cours de SQL :(!!!
PAr contre, je ne comprends pas pourquoi je gagne 25 secondes sur MySQL et seulement une à deux secondes sur JAVA?

Je vais me pencher la-dessus en esperant que tu pourra m'eclairer sur ce point aussi.


         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 

mercredi 5 septembre 2007 à 22:29:41 | Re : Accelerer les requetes

tof008

Membre Club

Autant pour moi DarkSidious, je me suis trompé de methode pour remplacer la requete :D !
Il est temps que je dorme....
Encore merci pour ton aide ;)


         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 



Cette discussion est classée dans : réponse, utiliser, requetes, accelerer


Répondre à ce message

Sujets en rapport avec ce message

Comment utiliser un "goto" en java ? [ par Deathmaker ] Voila, j'ai fait un petit, et en fait, je veux qu'à la fin du jeu, on propose de refaire une partie ou non. Si la réponse est 'oui', et bien le progra [debutant en JAVA] applet java pour utiliser le port série [ par toma2194 ] Bonsoir,Je cherche à utiliser le port série (envoi et réception) de mon PC depuis une page WEB (en php). En PHP, c'est pas possible du fait qu'il s'ex fenêtre modale ! [ par swiss_cheese10 ] Bonjour tlm les gens !Alors j'aimerais rendre une fenêtre modale sans utiliser de JDialog !!!Je voudrais qu'une simple fenêtre soit au premier plan pa transfert de données entre programmes [ par bimbol18 ] bonjour a tous!dans le cadre de mon stage de licence je suis censé "réaliser un état de l'art présentant les différents moyens de transférer des donn ClassLoader [ par tominfo ] Salut à tous,Au chargement d'un programme (un jeu), je lit un fichier de config qui contient entre autres la stratégie à utiliser par l'ordinateur. Je pas sut utiliser le stringtokenizer [ par zmerlicni ] bonjour jai un string (d:\dossier\rapport\final\fiche7.txt)je veut utiliser la classe Stingtokenizer pour subdiviser le string en 2 :string1= d:\doss structure en java? [ par ulysse69 ] Hello,Je ne sais pas trop comment faire en java...Je voudrai utiliser ce qu'on appelle une structure en langage C: rassembler des infos de type différ Probleme avec Java 2 [ par blackwarrior92 ] Je n'arrive pas a utiliser le SDK 1.5.0 ! Comment faire pour utiliser les codes sources ? !?! comparator !?! [ par HFanny ] Bonjour à tous,je dois utiliser pour faire des tris sur plusieurs critères, des Comparator ... mais je ne comprend pas bien comment les utiliser avec Regular Expressions [ par naq2 ] Bonjour,J'ai besoin d'utiliser les regular expressions dans mon application, alors ma question est simple:Quelles classes dois-je utiliser? (ya pas de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales