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

¿Como guardar los mensajes nuevos de un usuario?

Estas en el tema de ¿Como guardar los mensajes nuevos de un usuario? en el foro de Mysql en Foros del Web. Voy a explicar la situación: Tenemos un sistema para enviar mensajes entre usuarios.Quiero que cuando un usuario inicie sesión se le informe de cúantos mensajes ...
  #1 (permalink)  
Antiguo 22/10/2009, 13:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 215
Antigüedad: 14 años, 7 meses
Puntos: 1
¿Como guardar los mensajes nuevos de un usuario?

Voy a explicar la situación:

Tenemos un sistema para enviar mensajes entre usuarios.Quiero que cuando un usuario inicie sesión se le informe de cúantos mensajes nuevos tiene.Después de esto el usuario podrá decidir ver los mensajes o no.

Se me ocurren dos formas de modelar esto pero no sé cuál será más correcta:

1) Añadir en la tabla de mensajes un campo que sea "nuevo" y nos indique si el usuario ya ha visto ese mensaje o no(cuando un usuario revisa sus mensajes,se pone este campo a 1 en todos los mensajes).

Creo que este método es malo pq cada vez que el usuario entra en sessión habría que comprobar todos los mensajes de la base de datos en busca de mensajes nuevos.

2) Crear una tabla llamana mensajes_nuevos que tenga el id del usuario con nuevos mensajes y el número de mensajes.Cuando se le envía un mensaje a un usuario se comprueba esta tabla:

--si ya hay un registro con el id del usuario destino,se incrementa en 1 el campo número de mensajes.

--sino se inserta un nuevo registro en mensajes_nuevos con el id del usuario destino y valor de nuevo mensajes = 1

¿Que les parece este método?

Si conoceis una forma eficiente de hacer esto comentármela.Muchas gracias de antemano
  #2 (permalink)  
Antiguo 23/10/2009, 15:23
 
Fecha de Ingreso: enero-2009
Mensajes: 50
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: ¿Como guardar los mensajes nuevos de un usuario?

Supongo que el segundo caso es más eficiente que el primero aunque tp estoy seguro de si es una buena opción...
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 12:01.