Foros del Web » Programando para Internet » PHP »

foreach vs while ¿?

Estas en el tema de foreach vs while ¿? en el foro de PHP en Foros del Web. hola gente, hace un año empece con php por mi cuenta y recien estoy comenzando a preocuparme por el tema del rendimiento del servidor eh ...
  #1 (permalink)  
Antiguo 16/01/2009, 12:45
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
foreach vs while ¿?

hola gente, hace un año empece con php por mi cuenta y recien estoy comenzando a preocuparme por el tema del rendimiento del servidor

eh leido por ahi que es mas aconsejable usar foreach, la cuestion es que estoy modificando a fondo un script de descargas para wordpress, tengo en el unos 13 foreach para consultas a la bd

Código PHP:
$rows $wpdb->get_results("SELECT id, name FROM ".$table_prefix."dm_category WHERE parent = '".$cat->id."' ");
  foreach(
$rows as $row
podrian decirme si vale la pena pasar a while, y cual es la diferencia de su rendimiento

saludos y gracias
  #2 (permalink)  
Antiguo 16/01/2009, 12:59
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: foreach vs while ¿?

Cita:
Iniciado por p2pdownloading Ver Mensaje
hola gente, hace un año empece con php por mi cuenta y recien estoy comenzando a preocuparme por el tema del rendimiento del servidor

eh leido por ahi que es mas aconsejable usar foreach, la cuestion es que estoy modificando a fondo un script de descargas para wordpress, tengo en el unos 13 foreach para consultas a la bd

Código PHP:
$rows $wpdb->get_results("SELECT id, name FROM ".$table_prefix."dm_category WHERE parent = '".$cat->id."' ");
  foreach(
$rows as $row
podrian decirme si vale la pena pasar a while, y cual es la diferencia de su rendimiento

saludos y gracias

Porque antes de fijarte que es mas rapido en PHP, no usas consultas preparadas para mejorar el rendimiento...
Antes de hacer 13 consultas quizas te sirva preparar una o dos consultas y de ahi no tener que hacer tan pesado el tema.
Tambien podes usar StoredProcedures, para mejorar el rendimiento en las consultas.
Otro tema es crear indices en las tablas...

Tenes muchos ambitos para mejorar el rendimiento, con respecto al foreach o el while habria que ver antes que es lo que hace la funcion get_result... no conozco bien WordPress, (creo que estas usando la capa de abstraccion del mismo), pero quizas esta funcion genera muchos arrays en memoria lo que provoca que se torne un poco lenta la cosa, si no es asi, que no creo, perdon jeje.


Saludos.
  #3 (permalink)  
Antiguo 16/01/2009, 13:10
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: foreach vs while ¿?

las consultas estan dentro de funciones, que son llamadas cdo son necesarias, la verdad no sabria como reducir el numero, ya eh trabajado algo en eso, pero no se que mas hacer

con respecto a lo que decis creo que podria no usar el get_results, pero como puedo medir el rendimiento de las consultas ?

y a que te refieres con crear indices en las tablas ?

perdon por mi ignoracia :D

saludos
  #4 (permalink)  
Antiguo 16/01/2009, 13:27
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: foreach vs while ¿?

Para saber lo que hace get_results te dejo el link de la documentacion:

http://phpxref.ftwr.co.uk/wordpress/...wp-db.php.html

Podrias habrir esa libreria wp-db.php y mirar la funcion get_results para ver que esta haciendo.

Por otro lado para acelerar las consultas te recomiendo la libreria mysqli (i de improved) version mejorada, unas 80 veces mas rapida para consultar que la vieja mysql. Con mysqli podes realizar consultas preparadas.

Libreria MysqlI

Funcion prepare

espero que te sirva

Saludos.
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 14:07.