Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449

    [C#] OutOfmemory Exception

    Ciao,
    ho un programma che lancia dei thread per fare delle elaborazioni su un database mysql.
    In alcuni casi deve estrarre dei dati e scriverli su un file xml.

    Per estrarre i dati uso il driver di mysql MySQLDriverCS così:
    codice:
    myDBCmd.CommandText = query;
    myDBCmd.Connection = myDBConn;
    		
    //create a new DataReader with the result of the executed statement 
    
    MySQLDriverCS.MySQLDataReader myRdr = myDBCmd.ExecuteReaderEx();
    
    while (myRdr.Read()) 
    {
       // qui scrivo il file
    }
    
    myRdr.Close();
    Il problema è che quando 2 di questi thread fanno questa operazione con un breve intervallo di tempo il programma mi va in OutOfMemoryException.

    C'è un modo per leggere i dati da mysql che usa meno memoria?
    S'i fosse foco, arderei 'l mondo

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Vedi il LIMIT di mysql.
    Quindi devi eseguire la stessa query più volte cambiandone i parametri del LIMIT.
    Però da un punto di vista delle performance non ho idea come si comporta.
    Se va in outofmemory significa che ne carichi tanti tanti dati. Forse è il caso di studiare meglio cosa deve caricare questa query.
    I got the remedy

  3. #3
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    purtroppo non posso spezzare la query perchè quei dati devo elaborarli tutti insieme.

    Che io sappia, per essere sicuro di leggere tutti i record una sola volta, insieme al LIMIT dovrei mettere un ordinamento ma è un'altra cosa purtroppo che non posso fare.
    S'i fosse foco, arderei 'l mondo

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Cosa deve fare questa elaborazione(lato programma)?
    I got the remedy

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.