Bonjour à tous,
J'ai un petit problème concernant le temps de traitement d'une requete :
J'ai une requete SQL dont je veux afficher les resultats dans une JTable. Le temps de traitement de ma requete est correct (<0.05 s), mais le temps de traitement est énorme (supérieur à 30s) avant de pouvoir l'afficher.
Pour recupérer les resultats de ma requete, je met les rs.getString dans un tableau que j'associe à une JTable.
Auriez vous une idée différente qui me permettrait d'améliorer ce temps de traitement? (en mettant les resultats dans autre chose qu'un tableau???).
Vous trouverez en dessous ma methode contenant ma requete :
public String[][] NumPlusDemandes(){
String[][] tabNumDemandes=null;
Statement pst = null;
try {
myConnection.init();
pst = myConnection.getMyConnection().createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
ResultSet rsInfos = null;
try {
rsInfos = pst.executeQuery("select cartellini.numero_interloc, count(cartellini.numero_interloc) from cartellini, intercettazioni where intercettazioni.intercettazione = cartellini.intercettazione AND intercettazioni.descrizione ='" + AccueilGeneral.tabDecoupe[3].toString().trim() + "' group by cartellini.numero_interloc order by 2 DESC");//" + AccueilGeneral.tabDecoupe[].toString() + "
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
int i = 0;
rsInfos.last();
int num = rsInfos.getRow();
tabNumDemandes= new String[num][4];
rsInfos.first();
tabNumDemandes[0][0] = rsInfos.getString("cartellini.numero_interloc");
tabNumDemandes[0][1] = rsInfos.getString("count(cartellini.numero_interloc)");
tabNumDemandes[0][2] = "";
tabNumDemandes[0][3] = "";
i=1;
while(rsInfos.next()){
if(!rsInfos.getString("cartellini.numero_interloc").equals(null)){
tabNumDemandes[i][0] = rsInfos.getString("cartellini.numero_interloc");
}
if(!rsInfos.getString("count(cartellini.numero_interloc)").equals(null)){
tabNumDemandes[i][1] = rsInfos.getString("count(cartellini.numero_interloc)");
}
tabNumDemandes[i][2] = "";
tabNumDemandes[i][3] = "";
i = i + 1;
}
} catch (SQLException e) {
e.printStackTrace();
}
myConnection.close(rsInfos);
myConnection.close(pst);
myConnection.destroy();
return tabNumDemandes;
}
Noubliez pas de lire le REGLEMENT