Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/07/2006, 06:17
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Ok .. si .. así te "llevas" tu "recor-set" a un array (bidimensional) .. Pero te comento que PHP para eso tiene funciones para moverte por un "record-set" dado (o "resultado").

Por ejemplo .. tu haces tu consulta SQL típica, la ejecutas (mysql_query()) y como ya has visto .. con funciones como mysql_fetch_arrary() o similares accedes al resultado. Ok .. si ahora quieres -re-usar- ese resultado sin volver hacer la consulta SQL en el tiempo de ejecución de ese script puedes volver hacerlo simplemente moviendo el puntero del resultado al principio (o donde necesites) con funciones como:

mysql_data_seek()

Y de ahí .. otro típico mysql_fech_array() o un mysql_result() o lo que necesites.

La consulta SQL no se genera de nuevo y no consumes más recursos. Fijate que a tu manera .. tienes el "resource" ya generado (y que no se elminia hasta que haces un mysql_free_result() al menos o definitivamente cierras la conexión con mysql_close() o termina la ejecución del script donde PHP cierra por defecto toda conexión establecida, se deshace de variables en curso y mata todo socket abierto ... , y por otro lado "duplicas" esos mismos datos en tus arrays.

En resumen .. usando las funciones de "Mysql" nativas puedes moverte por tu resultado como gustes (tal cual lo harías con un array bidimensional clásica).

Dado esta explicación ... recapitulando:
Cita:
de este otro modo que me explican debo mantener la base de datos abierta mientras opero con los resultados,
¿Será tan considerable teniendo en cuenta el tiempo de proceso, consumir por un tiempo más una conexión a tu BB.DD. (que no son ni persistentes) o el sobre-consumo de memoria que haces para la ejecución de tu script?

Podrías hacer pruebas y nos comentas .. a ver si tu comodidad de uso vs a rendimiento y consumo de recursos es considerable o bien despreciable. Puedes usar funciones como microtime() para calcular tiempos de ejecución en uno u otro caso (el tema de la memoria ocupara no podrías verlo con funciones de PHP directamente lamentablemente .. sólo si tienes control total del servidor).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 12/07/2006 a las 06:22