Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Manipulando postagens não lidas em PHP/MySQL


Uma tabela contendo todos os user_ids e post_ids é uma má ideia, pois cresce exponencialmente. Imagine se sua solução de fórum crescesse para um milhão de posts e 50.000 usuários. Agora você tem 50 bilhões de registros. Isso será um problema.

O truque é usar uma tabela como você disse, mas ela só contém posts que foram lidos desde este login, de posts que foram postados entre o último login e este login.

Todas as postagens feitas antes do último login são consideradas lidas.

IE, eu entrei pela última vez em 03/04/2011, e então eu faço login hoje. Todos os posts feitos antes de 03/04/2011 são considerados lidos (não são novidade para mim). Todas as postagens entre 03/04/2011 e agora não são lidas, a menos que sejam vistas na tabela lida. A tabela de leitura é liberada toda vez que eu faço login.

Dessa forma, sua tabela de postagens de leitura nunca deve ter mais do que algumas centenas de registros para cada membro.