sql >> Databasteknik >  >> RDS >> Mysql

Hantera olästa inlägg i PHP / MySQL

En tabell som innehåller alla användare_id och post_id är en dålig idé, eftersom den växer exponentiellt. Tänk om din forumlösning växte till en miljon inlägg och 50 000 användare. Nu har du 50 miljarder poster. Det blir ett problem.

Tricket är att använda en tabell som du sa, men den innehåller bara inlägg som har lästs sedan denna inloggning, av inlägg som postades mellan senaste inloggningen och denna inloggning.

Alla inlägg som gjorts före den senaste inloggningen anses vara lästa.

IE, jag loggade in senast den 4/3/2011, och sedan loggar jag in idag. Alla inlägg som gjorts före 2011-03-04 anses lästa (de är inte nya för mig). Alla inlägg mellan 2011-03-04 och nu är olästa om de inte syns i lästabellen. Lästabellen töms varje gång jag loggar in.

På så sätt bör din tabell med lästa inlägg aldrig ha mer än ett par hundra poster för varje medlem.



  1. Infoga i en mysql-tabell och skriva över alla aktuella data

  2. Sortera SQL-radutgångar i en godtycklig ordning?

  3. 4 sätt att hitta dubbletter av rader i MySQL

  4. Byt namn på en CHECK-begränsning i SQL Server med T-SQL