Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Migliorare prestazioni Query MySql in java

    Salve ragazzi vorrei alcuni consigli per migliorare le performace di una query a DB.

    Ho una applicazione java - mysql

    Quando richiamo una funzione vado a richiamare un metodo che mi ritorna un ArrayList<MioOggetto>.

    MioOggetto è formato da alcuni tipiPrimitivi e da altri Oggetti.

    codice:
    PreparedStatement stmt = db.prepareStatement(query);    		
    ResultSet rs = stmt.executeQuery();  
     while(rs.next()) {   
        Articoli ingr = new Articoli();
        .......................................
        .......................................
       ingr.setPezziPedana(rs.getInt(10));
       ingr.setArticoliFornitore(estraiArticoliPerFornitore(ingr.getCodArticolo()));
       ingr.setArticoliRappresentante(estraiArticoloPerRappresentante(ingr.getCodArticolo()));
    					v.add(ingr);
    				}
    come potete vedere poi per ogni articolo lui va a fare altre query richiamando i metodi
    estraiArticoliPerFornitore
    estraiArticoliPerRappresentante

    per 2000 record oltre alla query padre fa altre 2 query. Questo porta ad avere un ritardo di un 15 20 secondi volevo sapere se potevo migliorare le prestazioni oppure accontentarmi.

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    dovresti fare query incrociate per ridurre il numero di accessi.
    Cosa fai con estraiArticoloPerRappresentante? suppongo sia un'altra query
    RTFM Read That F*** Manual!!!

  3. #3
    Si si è un'altra query che mi restituisce un array di oggetti

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ok dovresti far fare questi mestieri alle query e cercare di ridurre il più possibile query dentro i cicli, lato java devi fare il meno possibile (per questioni di ottimizzazione)
    RTFM Read That F*** Manual!!!

  5. #5
    e capisco, ma come posso fare per recuperare dati da 3 tabelle organizzate in questo modo

    Tabella1
    Tabella2
    Tabella3

    La tabella1 Ha relazione 1 --> N verso Tabella2
    La tabella1 Ha relazione 1 --> N verso Tabella3

    devo ricrearmi la stessa relazione anche in Java

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    puoi pensare di tenerti in memoria (hashmap) la tabella più piccola in modo da fare una richiesta in memoria anziché al db.
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.