Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [PHP] free result

  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    [PHP] free result

    Ciao a tutti non riesco a capire una cosa :
    Perche è stata predisposta una funzione apposita per liberare la memoria del result query
    mysql_free_result e non è stata predisposta anche una funzione per liberare la memoria dal recordset ?
    Nel caso in cui ad ogni query volessi liberare la memoria anche dal recordset una volta che non mi serve più basta eguagliarlo a "" ????
    Se si perche non andrebbe bene la stessa cosa con il result ??

    GRazie mille
    Ciao
    Ciao
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Uhm aspe ..

    quella funzione dice :

    mysql_free_result() will free all memory associated with the result identifier result.

    mysql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.

    QUIndi se fai una slect e stipi tutto in var puoi liberare con una funzione mysql la mem.

    Non cambia molto che fare $var = "" ; oppure unset($var); $var = "" ;

    E' solo uno dei tanti modi che hai di tenere pulita la memoria in caso tu abbia script molto potenti.

    TI serve nel caso in cui
    1- carichi tantissimi dati
    2- processi i dati
    3- devi processare un altro set molto grande ?
    4- si -> libera memoria e pulisci tutto per poter allocarne altra.

    La mem come sai non e' infinta e spesso moltio hoster limitano la mem a disposizione per ogni script o sito/app che gira nei server. Questo ti serve per aver maggior sicurezza che lo script non si blocchi a causa di un utilizzo eccessivo di memoria .

  3. #3
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    problemi di memoria non ne ho mai avute, anche perche il server è locale, stavo iniziando a integrarli dato che alcuni script di reportistica caricano qualche decina di migliaia di record (anche se non ho mai valutato l'impiego effettivo di memoria a query)

    percui possiamo dire che la pratica "completa" sarebbe la seguente :

    $res=mysql_query($sql);

    //-------utlizzo mio res come meglio credo
    $rk=mysql_fetch_array($res)
    //-------fine utilizzzo mio res

    mysql_free_result ($res);
    $rk="";

    Corretto?
    Che mestiere difficile.....essere da soli ancora di più

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Si la trafila e' quella.

    Siccome pure io per gestionei varie mi sono scontrato con parecchi dati liberare la memoria dopo averli usati e' sempre utile ad evitare crash non voluti degli scripts

  5. #5
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    percui integrandolo in una classe che esegue le query dovrei liberare il resul nel metodo e poi nella pagina si esecuzione il recordset dopo averlo utilizzato....

    fantastico altro codice inutile... uff
    Che mestiere difficile.....essere da soli ancora di più

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ASpe non impazzire su ste cose

    diciamo che

    Codice PHP:

    class miaclasse
    {
         
    // Attributi vari


         
    public__construct($opts)
         {
    /*quello che sia*/}


         public 
    method doStuff$opts )
         {
              
    // ESEGUI QUERY 

              // GESTISCI RISULTATO


              // POPOLA STRUTTURA DATI 

              // PULISCI MEMORIA 


              // TERMINA E RESTITUISCI DATI

         
    }



    Cosi' vai tranquillo

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.