Foros del Web » Programando para Internet » PHP »

Myslq mysql_free_result()

Estas en el tema de Myslq mysql_free_result() en el foro de PHP en Foros del Web. Hola, tengo una base de datos MySql de 1 Mega, en todas las consultas siempre libero la carga de memoria con mysql_free_result($result); mmi pregunta es ...
  #1 (permalink)  
Antiguo 03/02/2006, 13:26
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Myslq mysql_free_result()

Hola, tengo una base de datos MySql de 1 Mega, en todas las consultas siempre libero la carga de memoria con mysql_free_result($result); mmi pregunta es ¿con esto me garantizo de optimizar mi script para que no proboque una carga en el servidor o use demasiados recursos?

Suele hacer unas 5 consultas por página.
HE puesto el código en debug con errores y no me da ningún error. Uso indices en las tablas por ejemplo PRIMARY KEY (`id`).

¿Lo estoy haciendo bien?

Saludos
  #2 (permalink)  
Antiguo 03/02/2006, 13:43
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Es no te garantiza vida heterna.
Habría que ver la estructura de la db, las relaciones y los querys para decirte que serás feliz, al menos, en el 2006 ;)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 03/02/2006, 13:55
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
eso quiere decir que el mysql_free_result() no alivia la carga del servidor liberando la memoria de la consulta al instante?

Saludos
  #4 (permalink)  
Antiguo 03/02/2006, 14:15
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Si, yo no dije eso.
Lo que hace es lo siguiente:

1-genero consulta y cargo en memoria 20 kb

2-Uno consulta

3-genero nueva consulta y cargo en memoria 40kb

4-uso consulta

Esto, hasta que no termina usa en total 60kb. Si hicieras:

1-genero consulta y cargo en memoria 20 kb

2-Uno consulta

3-limpio memoria

4-genero nueva consulta y cargo en memoria 40kb

5-uso consulta

Usarías solo 40, y solo en la segunda etapa, ya que en la primera usaste 20kb.
Esto es solo el uso en la vida del script, ya que cuando termina php limpia todo solo (a no ser que uses conexiones persistentes)

Pero esto no te asegura que ambas conslutas este bien, solo que limpia la memoria de ellas una vez que usaste el resource.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 03/02/2006, 14:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
el mysql_free_result() lo uso al final de cada consulta, entonces por lo que me dices, algo aliviara al servidor no?

Gracias por tu aclaraión.
A ver si le meto algún sistema de cache pero no si si abra alguno que simplemente con poner un include en el encabezado de la web cachee las páginas.

Saludos
  #6 (permalink)  
Antiguo 03/02/2006, 14:35
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Claro, cuando termines de usar cada consulta lo usas. Y si, si tenés varias cargas de datos grande alivia la carga de memoria.

El usar un sistema de cache es muy buena opción si son muchas visitas*consultas*información, pudiendo usar simples files ya guardados (html), hasta xml o datos en txt/csv.

También influye mucho la conflagración del mysql.ini, hace un "show variables" para ver dicha config y ver que tenga jugoso espacio donde trabajar. Esto ya se transforma en base de datos y no corresponde al foro de php.
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 03/02/2006 a las 14:42
  #7 (permalink)  
Antiguo 03/02/2006, 14:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tu motor de Base de datos (Mysql) puede hacer caché de consultas. Se ajusta u optimiza que tanto caché se hace por configuración de Mysql (mysql.ini o mysql.cfg)

Unos tutoriales al respecto:
http://blackshell.usebox.net/archivo/617.php
http://www.databasejournal.com/featu...le.php/3110171

Por tu parte en programación PHP puedes cachear "paginas" (que a su vez si son consultas SQL a tus BD lo que estás contienen .. algo aliviará a su vez tus servidor de BBDD).

Algunos de estos sistemas de "Motores de gestión de plantillas" con opción de "caché" de paginas son:

Smarty, NokTemplate ..
(si usas google o el buscador veras mucha información al respecto).

Que tanto te beneficie usar "caché" (tanto en Mysql directo .. con el extra de consumo de recursos de memoria y algo de proceso como de PHP con algo más de proceso si ussa algún motor de gestión de plantillas) dependerá de que tan "iguales" sean siempre los resultados que se obtienen de tus consultas y con que frecuencia cambian tus datos origen.

Un saludo,
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 10:15.