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

Optimizando consulta: UPDATE +1

Estas en el tema de Optimizando consulta: UPDATE +1 en el foro de Mysql en Foros del Web. Hola gente! Bueno, el tema es este Cita: mysql_query("UPDATE MeGusta_data SET count=count+1 WHERE id=28); Tengo que optimizar esa consulta! Sería como un contador de impresiones. ...
  #1 (permalink)  
Antiguo 01/09/2011, 18:43
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 1 mes
Puntos: 4
Optimizando consulta: UPDATE +1

Hola gente!

Bueno, el tema es este

Cita:
mysql_query("UPDATE MeGusta_data SET count=count+1 WHERE id=28);
Tengo que optimizar esa consulta! Sería como un contador de impresiones. Que me recomiendan utilizar para el +1 update en un registro?

Tambien leí algo sobre tipo de camos mysql mas rapidos que otros, cual de esos me recomiendan?

Saludos!
  #2 (permalink)  
Antiguo 01/09/2011, 19:42
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Optimizando consulta: UPDATE +1

En general tu consulta "creo" que no te daría el resultado, ya que tendrías primero que sacar el valor máximo (en este caso) de ID 28, y sumarle uno, o sea, hacer un SELECT y después el UPDATE.
  #3 (permalink)  
Antiguo 02/09/2011, 08:28
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Optimizando consulta: UPDATE +1

Cita:
Iniciado por hasdpk Ver Mensaje
En general tu consulta "creo" que no te daría el resultado, ya que tendrías primero que sacar el valor máximo (en este caso) de ID 28, y sumarle uno, o sea, hacer un SELECT y después el UPDATE.
No, funciona correctamente asi. Pero el tema es que por cada impresion da como resultado que la pagina sea mas lenta, hay alguna forma mas rapida de sumar impresiones o algo asi?
  #4 (permalink)  
Antiguo 02/09/2011, 08:33
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
La unica forma es poniendo un indice para el campo "id" pero si es pk ya lo tendra de serie.
  #5 (permalink)  
Antiguo 02/09/2011, 08:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Optimizando consulta: UPDATE +1

Cita:
Iniciado por MRB09 Ver Mensaje
No, funciona correctamente asi. Pero el tema es que por cada impresion da como resultado que la pagina sea mas lenta, hay alguna forma mas rapida de sumar impresiones o algo asi?
¿A qué te refieres con "impresiones"? Eso partiendo del punto que MySQL no imprime nada... Sólo muestra lo que se le pide.

Lo que puede enlentecerse son las consultas, pero eso tiene cierta lógica porque usar una tabla de la base como contador de impresiones no es una práctica demasiado usual, o aconsejable.

¿Qué es lo que quieres imprimir y a través de qué?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 04/09/2011, 17:10
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Optimizando consulta: UPDATE +1

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿A qué te refieres con "impresiones"? Eso partiendo del punto que MySQL no imprime nada... Sólo muestra lo que se le pide.

Lo que puede enlentecerse son las consultas, pero eso tiene cierta lógica porque usar una tabla de la base como contador de impresiones no es una práctica demasiado usual, o aconsejable.

¿Qué es lo que quieres imprimir y a través de qué?
Con impresiones me refiero a las visitas de la pagina, sin discriminar repeticiones, osea, hits.

Según entiendo, no me combiene sumar hits en una tabla con 60mil registros, sino en una tabla aparte?
  #7 (permalink)  
Antiguo 04/09/2011, 18:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Optimizando consulta: UPDATE +1

Las repeticiones de registros obtenidos de una tabla dependen de lo bien hecha que esté la consulta. El paginado, es decir cuántos registros se muestran en cada página, se administra normalmente en una aplicación y no en la base.
No tiene sentido almacenar información de datos que son actualizables, como son los resultados de consultas parametrizadas, porque la variación en los parámetros de búsqueda crea variaciones en los resultados, y el ingreso de nuevos datos en las tablas consultadas generan inconsistencias en esos datos.
En otras palabras: No se almacenan esos datos. Se administran dinámicamente para el usuario que consulta y sólo se hace por medio de la aplicación (pagina web).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, registro, update
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 16:53.