Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Contador de visitas rápido

Estas en el tema de Contador de visitas rápido en el foro de Mysql en Foros del Web. Buenas a todos!, El asunto es que necesito hacer un UPDATE de todos los resultados sacados de un SELECT. El problema es que si hago ...
  #1 (permalink)  
Antiguo 06/09/2016, 08:11
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Contador de visitas rápido

Buenas a todos!,

El asunto es que necesito hacer un UPDATE de todos los resultados sacados de un SELECT.

El problema es que si hago un UPDATE por cada registro la consulta va muy lenta.

Código MySQL:
Ver original
  1. SELECT i FROM pictures  limit 50
Cita:
Editado: Código de programación no permitido en foros de BBDD.
Por favor, leer las reglas del subforo.
Me pregunto como lo hacen vuestras webs, ya que ahora con una tabla de 200.000 resultados me va lentillo... no mucho... pero demasiado lento para hacerlo.

¿Se os ocurre alguna otra forma?

Última edición por gnzsoloyo; 06/09/2016 a las 10:07
  #2 (permalink)  
Antiguo 06/09/2016, 08:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Contador de visitas rápido

Pues se hace un update con el resultado del select en una sola instruccion no instruccion por instruccion, ahora porque haces un incremento por cada foto cuando puedes hacer un count? Developers.........


Código MySQL:
Ver original
  1. update pictures
  2. set print=t1.total
  3. (
  4. SELECT count(i) as total, i FROM pictures group by i
  5. ) as t1
  6. where pictures.i=t1.i

Ojo, aqui no se que sea i(no soy adivino) y estoy agrupando por este mismo campo, que mania de los developers de estas operaciones sencillas para bases de datos hacerlas con iteraciones
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 06/09/2016, 10:35
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Contador de visitas rápido

Buenas Libras!,

Jeje... el código era un ejemplo de un listado de fotos. Quiero hacer un contador de impresiones en pantalla. Los usuarios cargan 100 fotos y yo hago el UPDATE de la columna prints por cada foto mostrada en el listado. Por ello puse el código PHP junto al MYSQL, jaja.

Es decir, sumo +1 impresión por línea del bucle de PHP junto a MYSQL.

Actualmente si lo hago la web se ralentiza mucho, me pregunto si existe alguna otra forma más eficiente?

:D
  #4 (permalink)  
Antiguo 06/09/2016, 11:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Contador de visitas rápido

Y lo que te puse que fue?? es una solucion mas optima para hacer updates masivos, tomando en cuenta la poca informacion que presentas.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 10/09/2016, 16:17
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Contador de visitas rápido

Buenas Libras!,

El asunto es que yo puse en el primer mensaje todo el PHP junto al MYSQL... pero me lo han editado... y por lo tanto no tiene sentido mi mensaje, jaja... de hecho creo que tenía comentarios.

Entiendo que no ponga códigos que no sean de mysql... pero en algunas ocasiones necesario tener una visión de conjunto, por lo menos conceptual.

Yo tengo un bucle while de un select con PHP... muestro en pantalla 50 registros, quiero hacer un contador de impresiones en pantalla de cada registro. Ahora lo hago con un UPDATE dentro de cada línea dentro del while. Lo cual ralentiza mucho todo... ya que son 50 updates.

Me pregunto si existe alguna forma más optima.

Disculpa por el malentendido... no era mi intención :P
  #6 (permalink)  
Antiguo 10/09/2016, 16:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Contador de visitas rápido

No has entendido el update que te puse verdad? es un update para no hacerlo en una sola iteracion, te recomiendo que investigues un poquito mas sobre los updates, o si necesitas mas ayuda pon mas datos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 19/09/2016, 12:56
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Contador de visitas rápido

Ahora lo entiendo!... perdona! :P

Etiquetas: contador, query, select, sql, tabla
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 22:17.