Foros del Web » Programando para Internet » PHP »

Que es mas rápido recorrer la base de datos o numrows

Estas en el tema de Que es mas rápido recorrer la base de datos o numrows en el foro de PHP en Foros del Web. Hola a todos. Mi pregunta es la siguiente: Tengo una base de datos con aproximadamente 5.000 registros, tengo que hacer cerca de 15 gráficas estadísticas ...
  #1 (permalink)  
Antiguo 24/07/2012, 05:41
daz
 
Fecha de Ingreso: julio-2001
Ubicación: Bogota
Mensajes: 341
Antigüedad: 22 años, 8 meses
Puntos: 4
Que es mas rápido recorrer la base de datos o numrows

Hola a todos.
Mi pregunta es la siguiente:
Tengo una base de datos con aproximadamente 5.000 registros, tengo que hacer cerca de 15 gráficas estadísticas con esa base datos.
Puedo conseguir la información que necesito de tres formas:
1. Recorrer cada uno de los datos de la base de datos e ir sumando el numero de veces que se repite cada dato en variables independientes algo asi como esto:
if ($row_datos["genero"]==1){
$hombre++;
}else{
$mujer++;
}
Y así con los 15 campos que necesito de la base de datos.
2. Una vez generada la consulta a la base de datos cuento los datos que necesito $variable=mysql_num_rows($conexion);
3. hacer la consulta directamente en la base de datos
"SELECT COUNT(dato) FROM table";

La duda me surge ya que si lo hago de alguna de las dos ultimas formas generaría 15 diferentes consultas a la base de datos y de la primera forma solo una pero tengo que recorrer todos los datos.

Que es lo mas recomendable??.

Gracias.
  #2 (permalink)  
Antiguo 24/07/2012, 06:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Que es mas rápido recorrer la base de datos o numrows

Sí puedes utilizar las funciones propias de SQL puede ser más rápido, otra forma es delegar el cálculo a un store procedure, calculas todo allí y haces una llamada al mismo, debido a que sólo necesitas el resultado no la data completa de los registros
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/07/2012, 11:06
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 11 años, 11 meses
Puntos: 34
Respuesta: Que es mas rápido recorrer la base de datos o numrows

y sino contá todo junto...
Código SQL:
Ver original
  1. SELECT
  2. COUNT(*) FROM (SELECT * FROM tabla WHERE dato1 = talCosa) AS countTalCosa,
  3. COUNT(*) FROM (SELECT * FROM tabla WHERE dato1 = talOtra) AS countTalOtra,
  4. COUNT(*) FROM (SELECT * FROM tabla WHERE dato1 = otroDato) AS countOtroDato,
  5. ....
  #4 (permalink)  
Antiguo 24/07/2012, 11:21
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Que es mas rápido recorrer la base de datos o numrows

que opinan de select found rows?

http://dev.mysql.com/doc/refman/5.0/...ion_found-rows
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 24/07/2012, 11:36
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 11 años, 11 meses
Puntos: 34
Respuesta: Que es mas rápido recorrer la base de datos o numrows

Cita:
Iniciado por mogurbon Ver Mensaje
Cita:
FOUND_ROWS() returns the number of rows in the result set returned by that statement. If the statement includes a LIMIT clause, FOUND_ROWS() returns the number of rows up to the limit.
opino que no tiene nada que ver jejejj
  #6 (permalink)  
Antiguo 24/07/2012, 11:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Que es mas rápido recorrer la base de datos o numrows

Found_rows es una característica propia de MySQL que permite devolver el total de registros de la consulta sin tener en cuenta el limit, sólo sirve para optimizar la paginación, realmente no te serviría para nada.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 24/07/2012, 11:59
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Que es mas rápido recorrer la base de datos o numrows

jajaja creo que si me la mam....... se me cruzaron los cables , tons opto por la opción de num_rows de php
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo

Etiquetas: registro, sql, variables
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 08:17.