Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    41

    [JAVA]Problemi con la memoria di JVM

    ho un problema con la memoria di JVM in quanto prendere delle righe da database ed ed inserirle in un una nuova tabella.
    Allore prendo le righe e le salvo in un oggetto di tipo ResultSet soltanto che siccome ho un milione di righe mi da errore di Out of Memory.

    Come posso risolvere questo problema

    Il codice è il seguente:

    codice:
    int f=0;    
            String query=new String("select tp,usec,target from featuresTable limit "+f+",100000;");
            ResultSet rs=cn.query(query);
            while(rs!=null){
            rs.beforeFirst();
                while(rs.next()){    
                    String query1=new String("insert into DataSetFromFeatures(TP,usec,target) values('"+rs.getDate(1)+"','"+rs.getInt(2)+"','"+rs.getString(3)+"');");
                    cn.update(query1);
                    }
            f=f+100000;
            query="select tp,usec,target from featuresTable limit "+f+",100000;";
            rs=cn.query(query);
            }
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    39
    Non mi e' chiaro perche' fai una prima select, e poi dentro al ciclo ne rifai un'altra a ogni giro.

    italiano a parte, perche' non fai due operazioni in un unico passaggio?
    Cioe':
    select / insert
    select / insert
    select / insert
    ....

    Inoltre che db stai usando? potrebbe essere un mysql, visto che usi il limit.
    Se la versione che usi e' abbastanza recente, potresti fare addirittura una query annidata
    (insert into...select...)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    41
    il database che uso è mysql
    però il fatto di fare query annidate che centra con il mio problema?

    io ho un problema di out of memory che non riesco a risolvere.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    41
    Grazie per la dritta

    risolto utilizzando query annidate

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    41
    Volevo sapere come fare ad aumentare la memoria della jvm non da riga di comando.

    Cioè vorrei inserire un comando all'interno del programma, così ogni volta che lo vado ad eseguire l'area heap della jvm è già espansa.

    Questo è possibile farlo oppure l'area si espande solo da riga di comando.

    Grazie

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.