Foros del Web » Programando para Internet » PHP »

liberar memoria

Estas en el tema de liberar memoria en el foro de PHP en Foros del Web. si en una pagina se hace varios selects correspondientes a diferentes tablas ( en este caso 7) de una misma base de datos, ¿se puede ...
  #1 (permalink)  
Antiguo 26/04/2004, 12:48
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 22 años, 5 meses
Puntos: 5
liberar memoria

si en una pagina se hace varios selects correspondientes a diferentes tablas ( en este caso 7) de una misma base de datos,
¿se puede hacer esto?

<? @mysql_free_result($select_a);
@mysql_free_result($select_b);
@mysql_free_result($select_c);
@mysql_free_result($select_d);
@mysql_free_result($select_e);
@mysql_free_result($select_f);
@mysql_free_result($select_g);
@mysql_close($db); ?>

gracias.
  #2 (permalink)  
Antiguo 26/04/2004, 14:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si, .. se puede hacer perfectamente ..

Pero lo ideal no es que hagas tu mysql_free_result() y seguidamente el mysql_close() .. pues este último y más encima al estar al final del script (?>) ya cierra tu bd y libera memoria.

Lo que sería ideal es aplicar tu mysql_free_Result() justo despues de que ya no lo necesites según el flujo de tu aplicación .. Esos "milisegundos" (o menos) que liberastes la memoria antes de que el flujo de tu código termine por si mismo son ya de por sí un ahorro de recursos del servidor (memoria) .. que . aunque te pueda parecer que es poco .. sirve igualmente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/04/2004, 15:24
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 22 años, 5 meses
Puntos: 5
Por cierto el arroba que precede a algunas lineas ¿para que sirve? y ¿cuando debe usarse?

Gracias de nuevo.
  #4 (permalink)  
Antiguo 27/04/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
EL @ "ofusca" los mensajes de error que puedan arrojar dichas llamadas a tus funciones (o variables). Pero los log de PHP (si los tienes activados) para errores se siguen haciendo.

Los puedes usar (el @) cuando realmente des por terminado tu script (y lo lleves a "producción") .. Mientras tanto trabaja sin @ sino, no veras mensajes de error y no sabras por donde anda el falló (si corresponde).

El @ usado en conjunto con una estructura de control tipo if() o similar puedes "personalizar" tus própios mensajes de error sin que -a su vez- PHP muestre los suyos (como suele pasar).

ejemplo:

Código PHP:
if (@!mysql_connect(....)){
echo 
"NO se conectó a la BD";

De esta forma .. forzamos a PHP a que no muestre el mensaje de error característico si falla la conexión a tu BD y mostramos el nuestro. (la mayoría de funciones .. son "booleanas" en cuanto a que si no hacen lo que deben hacer .. devuelven un "FALSE" .. así que las podemos usar en estructuras de control tipo condicionales.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:05.