sql >> Base de Datos >  >> RDS >> Mysql

Foros de PHP:cómo lidiar con discusiones/temas/publicaciones no leídas

No hay muchas opciones.

  1. marcar cada hilo de lector por cada usuario.

    • Desventajas:muchas filas en foros muy activos
    • Ventajas:Cada usuario sabe si la publicación ha leído o no.
  2. marca cada hilo no leído por cada usuario.

    • Desventajas:mucho espacio con filas "no leídas" si hay inactividad de muchos usuarios
    • Soluciones:agregue una marca de tiempo de por vida y elimine registros antiguos con un cron
    • Ventajas:Cada usuario sabe si la publicación ha leído o no.
  3. use marcas de tiempo para determinar si mostrarlo como no leído o no.

    • Desventajas:los usuarios que no saben son los hilos reales sin leer, las marcas solo muestran los "nuevos hilos" desde el último inicio de sesión
    • Ventaja:Ahorro de espacio

La otra alternativa es mezclar soluciones, es decir,

1 y 3) muestran el hilo como "no leído" si no tienen más de X días y no hay una fila marcada como leída para el usuario. Las filas de "lectura" se pueden eliminar cuando tienen X días de antigüedad sin afectar nada.

Ventajas

  • menos espaciado usado para determinar subprocesos no leídos

Desventajas

  • crear un cron que mantenga limpio el sistema
  • Los usuarios no saben si leen hilos de más de x días.

Ventajas

  • Cada usuario sabe qué "publicaciones nuevas" ha leído o no.