(introducción)
PHP cierra toda conexión (no persistente) a tu BD y termina el script en curso por defecto al ejecutarse por completo tu script.
mysql_free_result() libera memoria usada por un mysql_query() .. por enden .. cuanto antes liberes esa memoria mejor será para el rendimiento de tu servidor. Puedes pensar que un script se ejecuta en unas milemismas de segundo (como así són las mayoria) .. pero si tus scripts colaboran al liberar la memoria usada por tus "query" lo antes posible .. mejor.
¿Cuando debes usarlo? ...
-Cuando ya no uses el resultado de tu mysql_query() .. Suele ser despues de tu tipico:
Código PHP:
$resultado=mysql_query($sql);
while ($row=mysql_fectch_array($resultado)){
// etc ..
}
mysql_result($resultado);
o .. despues de un
Código PHP:
$resultado=mysql_query($sql);
mysql_result($resultado,0);
mysql_free_result($resultado);
o de cualquier uso de tu "$resultado" .. Si lo haces justo despues de asignarlo a esa variable .. perderás el "record-set" generado por tu mysql_query() ..
Un saludo,